![[互联网]netbeans开发jaaGUI程序详细教程基础教程.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/5/febb2e50-e482-4e26-9967-d9a1c89cb65f/febb2e50-e482-4e26-9967-d9a1c89cb65f1.gif)
![[互联网]netbeans开发jaaGUI程序详细教程基础教程.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/5/febb2e50-e482-4e26-9967-d9a1c89cb65f/febb2e50-e482-4e26-9967-d9a1c89cb65f2.gif)
![[互联网]netbeans开发jaaGUI程序详细教程基础教程.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/5/febb2e50-e482-4e26-9967-d9a1c89cb65f/febb2e50-e482-4e26-9967-d9a1c89cb65f3.gif)
![[互联网]netbeans开发jaaGUI程序详细教程基础教程.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/5/febb2e50-e482-4e26-9967-d9a1c89cb65f/febb2e50-e482-4e26-9967-d9a1c89cb65f4.gif)
![[互联网]netbeans开发jaaGUI程序详细教程基础教程.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/5/febb2e50-e482-4e26-9967-d9a1c89cb65f/febb2e50-e482-4e26-9967-d9a1c89cb65f5.gif)
已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
构建 GUI 应用程序简介撰稿人:Saleem Gul 和 Tomas Pavek本入门教程讲述如何创建简单图形用户界面以及如何添加简单后端功能。尤其介绍了如何为 Swing 窗体中的按钮和字段行为编写代码。我们将完成 GUI 布局和设计工作并添加几个按钮和文本字段。这些文本字段用于接收用户输入和显示程序输出。这些按钮用于启动前端的内置功能。我们创建的应用程序是一个非常简单但功能完善的计算器。有关更全面的 GUI 构建器设计功能指南(包括各种设计功能的视频演示),请参见在 NetBeans IDE 中设计 Swing GUI。预计时间:15 分钟目录练习 1:创建项目练习 2:构建前端练习 3:添加功能练习 4:运行程序事件处理的工作方式另请参见要学完本教程,您需要具备以下软件和资源。软件或资源要求的版本带有 Java SE 的 NetBeans IDE版本 6.9 或更高版本Java 开发工具包 (JDK)版本 6 或 7练习 1:创建项目第一步是为要开发的应用程序创建 IDE 项目。我们将项目命名为NumberAddition。选择文件新建项目。或者,也可以单击 IDE 工具栏中的“新建项目”图标。在“类别”窗格中,选择 Java 节点。在“项目”窗格中,选择“Java 应用程序”。单击 Next(下一步)。在“项目名称”字段中键入NumberAddition,然后指定路径(例如,在主目录中)作为项目位置。(可选)选中“使用专用文件夹存储库”复选框,并指定库文件夹的位置。有关此选项的详细信息,请参见共享项目库。如果已选中“创建主类”复选框,请取消选中该复选框。单击 Finish(完成)。练习 2:构建前端要继续构建界面,我们需要创建一个 Java 容器,以便放置所需的其他 GUI 组件。在此步骤中,我们将使用JFrame组件创建一个容器。我们将该容器放在新包中,该包将显示在“源包”节点中。创建 JFrame 容器在“项目”窗口中,右键单击NumberAddition节点,然后选择新建其他。在“新建文件”对话框中,选择Swing GUI 窗体类别和JFrame 窗体文件类型。单击 Next(下一步)。输入NumberAdditionUI作为类名。在“包”中输入my.numberaddition。单击 Finish(完成)。IDE 将在NumberAddition应用程序中创建NumberAdditionUI窗体和NumberAdditionUI类,然后在 GUI 构建器中打开NumberAdditionUI窗体。my.NumberAddition包将替代默认包。添加组件:生成前端接下来,我们将通过组件面板使用 JPanel 填充应用程序前端。然后,添加三个 JLabel、三个 JTextField 和三个 JButton。如果以前没有用过 GUI 构建器,您可能会发现在 NetBeans IDE 中设计 Swing GUI教程中有关组件放置的信息非常有用。在拖动并放置完上述组件后,JFrame 应类似于以下屏幕快照。如果 IDE 右上角未显示“组件面板”窗口,则选择“窗口”“组件面板”。先从“组件面板”的“Swing 容器”类别中选择一个面板,然后将其拖放到 JFrame 上。在突出显示该 JPanel 时,转至“属性”窗口,然后单击 Border 旁边的省略号 (.) 按钮以选择边框样式。在 Border 对话框中,从列表中选择“带标题的边框”,然后在“标题”字段中键入Number Addition。单击“确定”。保存更改并退出该对话框。现在,将会看到一个标题为 Number Addition 的空 JFrame,它与屏幕快照类似。按照上面的屏幕快照所示,添加三个 JLabel、三个 JTextField 和三个 JButton。重命名组件在该步骤中,我们将重命名刚添加到 JFrame 中的这些组件的显示文本。双击jLabel1并将文本属性更改为First Number。双击jLabel2并将文本更改为Second Number。双击jLabel3并将文本更改为Result。删除jTextField1中的样例文本。要使显示文本可编辑,可以右键单击文本字段,然后从弹出式菜单中选择“编辑文本”。可能需要将jTextField1调整为原始大小。对于jTextField2和jTextField3,重复此步骤。将jButton1显示文本重命名为Clear。(可以通过右键单击按钮并选择“编辑文本”来编辑按钮的文本。或者,也可以单击按钮,稍等片刻,然后再次单击按钮。)将jButton2显示文本重命名为Add。将jButton3显示文本重命名为Exit。现在,完成的 GUI 应类似于以下屏幕快照:练习 3:添加功能在本练习中,我们将为 Add、Clear 和 Exit 按钮添加功能。jTextField1和jTextField2框用于用户输入,jTextField3用于程序输出;我们要创建的应用程序是一个非常简单的计算器。我们现在就开始吧。使 Exit 按钮正常工作要为这些按钮添加功能,必须为每个按钮指定事件处理程序以响应事件。在本示例中,我们需要了解何时通过鼠标单击或键盘按下了按钮。因此,我们使用 ActionListener 来响应 ActionEvent。右键单击 Exit 按钮。从弹出式菜单中选择“事件”“操作”“actionPerformed”。请注意,该菜单中还包含很多其他可响应的事件!在选择actionPerformed事件时,IDE 自动在 Exit 按钮中添加 ActionListener,并生成一种处理程序方法,以处理监听程序的 actionPerformed 方法。IDE 将打开源代码窗口并滚动至某一位置,在此将实现按下按钮(通过鼠标单击或键盘)时希望其执行的操作。源代码窗口应包含以下行:private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) /TODO add your handling code here: 现在,我们将为希望 Exit 按钮执行的操作添加代码。将 TODO 行替换为System.exit(0);。完成的 Exit 按钮代码应如下所示:private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) System.exit(0); 使 Clear 按钮正常工作单击工作区域顶部的“设计”标签以返回到窗体设计区域。右键单击 Clear 按钮 (jButton1)。从弹出式菜单中选择“事件”“操作”“actionPerformed”。Clear 按钮用于删除 jTextField 中的所有文本。为此,将添加一些与以上代码类似的代码。完成的源代码应如下所示:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) jTextField1.setText(); jTextField2.setText(); jTextField3.setText(); 上面的代码将所有三个 JTextField 中的文本更改为空,实际就是使用空白覆盖现有文本。使 Add 按钮正常工作Add 按钮用于执行三个操作。它接受jTextField1和jTextField2中的用户输入,并将输入类型由字符串转换为浮点。然后,它将两个数相加。最后,将相加之和的类型转换为字符串,并将其放在jTextField3中。我们现在就开始吧!单击工作区域顶部的“设计”标签以返回到窗体设计区域。右键单击 Add 按钮 (jButton2)。从弹出式菜单中选择“事件”“操作”“actionPerformed”。我们将添加一些代码以使 Add 按钮正常工作。完成的源代码应如下所示:private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) / First we define float variables. float num1, num2, result; / We have to parse the text to a type float. num1 = Float.parseFloat(jTextField1.getText(); num2 = Float.parseFloat(jTextField2.getText(); / Now we can perform the addition. result = num1+num2; / We will now pass the value of result to jTextField3. / At the same time, we are going to / change the value of result from a float to a string. jTextField3.setText(String.valueOf(result); 程序已创建完毕,我们现在可以构建并运行该程序以查看其运行情况。练习 4:运行程序在 IDE 中运行程序:选择“运行”“运行主项目”(或按 F6 键)。注:如果显示的窗口通知您项目 NumberAddition 没有设置主类,则应在同一窗口中选择my.NumberAddition.NumberAdditionUI作为主类,然后单击 OK(确定)按钮。在 IDE 外部运行程序:选择“运行”“清理并构建主项目”(Shift-F11 组合键)以构建应用程序 JAR 文件。通过使用系统的文件资源管理器或文件管理器,导航至NumberAddition/dist目录。注:NumberAddition项目目录的位置取决于在练习 1:创建项目部分中的第 3 步创建项目时指定的路径。双击NumberAddition.jar文件。几秒钟后,将会启动应用程序。注:如果在双击 JAR 文件时没有启动应用程序,请参见本文以了解在操作系统中设置 JAR 文件关联的相关信息。也可以通过命令行启动应用程序。通过命令行启动应用程序:在系统上,打开命令提示符或终端窗口。在命令提示符中,转至NumberAddition/dist目录。在命令行中,键入以下语句:java -jar NumberAddition.jar注:请确保my.NumberAddition.NumberAdditionUI设置为主类,然后再运行应用程序。检查方式如下:在 Projects(项目)窗格中右键单击 NumberAddition 项目节点,在弹出菜单中选择 Properties(属性),然后在 Project Properties(项目属性)对话框中选择 Run(运行)类别。Main Class(主类)字段将显示my.numberaddition.NumberAdditionUI。事件处理的工作方式本教程已介绍了如何响应简单的按钮事件。还可以让应用程序响应很多其他事件。IDE 可以帮助您查找 GUI 组件可处理的可用事件列表:返回至编辑器中的NumberAdditionUI.java文件。单击“设计”标签以在 GUI 构建器中查看 GUI 布局。右键单击任何 GUI 组件,然后从弹出式菜单中选择“事件”。目前,仅浏览菜单以查看其中的内容,而无需选择任何内容。或者,也可以从“窗口”菜单中选择“属性”。在“属性”窗口中,单击“事件”标签。在“事件”标签中,可以查看和编辑与当前活动 GUI 组件关联的事件处理程序。可以让应用程序响应按键、鼠标单击、双击和三击、鼠标移动、窗口大小以及焦点变化。可以从“事件”菜单中为所有这些内容生成事件处理程序。最常用的事件是 Action 事件。(要了解事件处理的最佳做法,请参见 Sun 的Java 事件教程。)事件处理是如何工作的呢?每次从“事件”菜单中选择事件时,IDE 都会自动创建一个所谓的事件监听程序,并将其与组件关联。请完成以下步骤以查看事件处理的工作方式。返回至编辑器中的NumberAdditionUI.java文件。单击“源”标签以查看 GUI 源代码。向下滚动并注意刚实现的方法jButton1ActionPerformed()、jButton2ActionPerformed()和jButton3ActionPerformed()。这些方法称为事件处理程序。现在,滚动至名为initComponents()的方法。如果未看到该方法,请查找显示Generated Code的行;单击该行旁边的 + 号以展开折叠的initComponents()方法。首先,请注意initComponents()方法周围的蓝色块。此代码是由 IDE 自动生成的,无法对其进行编辑。现在,浏览initComponents()方法。此外,该方法还包含用于初始化 GUI 组件并将其放置在窗体上的代码。在“设计”视图中放置和编辑组件时,将会自动生成和更新该代码。在initComponents()中,向下滚动至显示以下内容的位置:jButton3.setText(Exit);jButton3.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton3ActionPerformed(evt); );这是在 GUI 组件中添加事件监听程序对象的位置;在本示例中,将在jButton3中注册 ActionListener。ActionListener 接口具有一个 actionPerformed 方法,该方法采用 ActionEvent 对象(只需调用jButton3ActionPerformed事件处理程序即可实现)作为其参数。现在,该按钮将监听 action 事件。每次按下该按钮时,都会生成 ActionEvent 并将其传递给监听程序的 actionPerformed 方法,而该方法又会执行在该事件的事件处理程序中提供的代码。一般来说,要能够进行响应,每个交互式 GUI 组件需要在事件监听程序中进行注册,并且需要实现事件处理程序。正如您所看到的一样,NetBeans IDE 可处理关联事件监听程序的工作,因此,您可以集中精力实现应由事件触发的实际业务逻辑。生成Netbeans 6.5 GUI应用程序简介时间:2010-06-30 14:39来源: 作者: 点击: 3 次本入门教程讲述如何创建简单图形用户界面以及如何添加简单后端功能。尤其介绍了如何为 Swing 窗体中的按钮和字段行为编写代码。-我们将完成Netbeans 6.5 GUI 布局和设计工作并添加几个按钮和文本字段。这些文本字段用于接收用户输入和显示程序输出。这些按钮用于启动前端的内置功能。我们创建的应用程序是一个非常简单但功能完善的计算器。 有关更全面的Netbeans 6.5 GUI 生成器设计功能指南(包括各种设计功能的视频演示),请参见在Netbeans 6.5IDE 中设计 Swing GUI。要学完本教程,您需要具备以下软件和资源。练习 1:创建项目 第一步是为要开发的应用程序创建 IDE 项目。我们将项目命名为 NumberA target=_blankition。 1. 选择“文件”“新建项目”。或者,也可以单击 IDE 工具栏中的“新建项目”图标。 2. 在“类别”窗格中,选择 Java 节点。在“项目”窗格中,选择“Java 应用程序”。单击“下一步”。 3. 在“项目名称”字段中键入 NumberAddition,然后指定项目位置路径(例如,在主目录中)。 4. (可选)选中“使用专用文件夹存储库”复选框,并指定库文件夹的位置。有关此选项的详细信息,请参见共享项目库。 5. 确保“设置为主项目”复选框处于选中状态。 6. 如果已选中“创建主类”复选框,请取消选中该复选框。 7. 单击“完成”。 练习 2:生成前端 要继续生成界面,我们需要创建一个 Java 容器,以便放置所需的其他 GUI 组件。在此步骤中,我们将使用 JFrame 组件创建一个容器。我们将该容器放在新包中,该包将显示在“源包”节点中。创建 JFrame 容器 1. 在“项目”窗口中,右键单击 NumberAddition 节点并选择“新建”“JFrame 窗体”。 2. 在“类名”中输入 NumberAdditionUI。 3. 在“包”中输入 my.numberaddition。 4. 单击“完成”。 IDE 将在 NumberAddition 应用程序中创建 NumberAdditionUI 窗体和 NumberAdditionUI 类,然后在 GUI 生成器中打开 NumberAdditionUI 窗体。my.NumberAddition 包将替代缺省包。添加组件:生成前端 接下来,我们将通过组件面板使用 JPanel 填充应用程序前端。然后,添加三个 JLabel、三个 JTextField 和三个 JButton。如果以前没有用过 GUI 生成器,您可能会发现在 NetBeans IDE 中设计 Swing GUI 教程中有关组件放置的信息非常有用。在拖动并放置完上述组件后,JFrame 应类似于以下屏幕快照。 498)this.style.width=498; onmousewheel = javascript:return big(this) alt=包含三个 JLabel屏幕快照 src=/files/uploadimg/20090610/151421871.png width=309 height=230如果在 IDE 右上角未看到“组件面板”窗口,则选择“窗口”“组件面板”。1. 先从组件面板中选择一个 JPanel,然后将其拖放到 JFrame 上。 2. 在突出显示该 JPanel 时,转至“属性”窗口,然后单击 Border 旁边的省略号 (.) 按钮以选择边框样式。 3. 在 Border 对话框中,从列表中选择“带标题的边框”,然后在“标题”字段中键入 Number Addition。单击“确定”保存更改并退出该对话框。 4. 现在,将会看到一个标题为 Number Addition 的空 JFrame,它与屏幕快照类似。按照上面的屏幕快照所示,添加三个 JLabel、三个 JTextField 和三个 JButton。 重命名组件 在该步骤中,我们将重命名刚添加到 JFrame 中的这些组件的显示文本。1. 双击 jLabel1 并将文本属性更改为 First Number。 2. 双击 jLabel2 并将文本更改为 Second Number。 3. 双击 jLabel3 并将文本更改为 Result。 4. 删除 jTextField1 中的样例文本。可通过以下方法使显示文本处于可编辑状态:单击文本字段,稍等片刻,然后再次单击文本字段。可能需要将 jTextField1 调整为原始大小。对于 jTextField2 和 jTextField3,重复此步骤。 5. 将 jButton1 显示文本重命名为 Clear。(可以通过右键单击按钮并选择“编辑文本”来编辑按钮的文本。或者,也可以单击按钮,稍等片刻,然后再次单击按钮。) 6. 将 jButton2 显示文本重命名为 Add。 7. 将 jButton3 显示文本重命名为 Exit。 现在,完成的 GUI 应类似于以下屏幕快照:498)this.style.width=498; onmousewheel = javascript:return big(this) alt=完成的应用程序屏幕快照 src=/files/uploadimg/20090610/151449747.png width=309 height=230练习 3:添加功能 在本练习中,我们将为 Add、Clear 和 Exit 按钮添加功能。jTextField1 和 jTextField2 框用于用户输入,jTextField3 用于程序输出;我们要创建的应用程序是一个非常简单的计算器。我们现在就开始吧。使 Exit 按钮正常工作 要为这些按钮添加功能,必须为每个按钮指定事件处理程序以响应事件。在本示例中,我们需要了解何时通过鼠标单击或键盘按下了按钮。因此,我们使用 ActionListener 来响应 ActionEvent。 1. 右键单击 Exit 按钮。从弹出式菜单中选择“事件” Action ActionPerformed。请注意,该菜单中还包含很多其他可响应的事件!在选择 actionPerformed 事件时,IDE 自动在 Exit 按钮中添加 ActionListener,并生成一种处理程序方法以处理侦听程序的 actionPerformed 方法。 2. IDE 将打开“源代码”窗口并滚动至某一位置,在此将实现按下按钮(通过鼠标单击或键盘)时希望其执行的操作。源代码窗口应包含以下行: 1. privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt) 2. /TODO:Addyourhandlingcodehere: 3. 3. 现在,我们将为希望 Exit 按钮执行的操作添加代码。必须在以上代码中键入 System.exit(0); 以替换 TODO 行。完成的 Exit 按钮代码应如下所示: 1. privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt) 2. System.exit(0); 3. 使 Clear 按钮正常工作 1. 单击工作区域顶部的“设计”标签以返回到窗体设计区域 2. 右键单击 Clear 按钮 (jButton1)。从弹出式菜单中选择“事件” Action actionPerformed。 3. Clear 按钮用于删除 jTextField 中的所有文本。为此,将添加一些与以上代码类似的代码。完成的源代码应如下所示: 1. privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt) 2. jTextField1.setText(); 3. jTextField2.setText(); 4. jTextField3.setText(); 5. 上面的代码将所有三个 JTextField 中的文本更改为空,实际就是使用空白覆盖现有文本。使 Add 按钮正常工作 Add 按钮用于执行三个操作: 1. 它接受 jTextField1 和 jTextField2 中的用户输入,并将输入类型由字符串转换为浮点。 2. 然后,它将两个数相加;最后, 3. 将两个数之和的类型转换为字符串,并将其放在 TextField3 中。我们现在就开始吧! 1. 单击工作区域顶部的“设计”标签以返回到窗体设计区域。 2. 右键单击 Add 按钮 (jButton2)。从弹出式菜单中选择“事件” Action actionPerformed 3. 我们将添加一些代码以使 Add 按钮正常工作。完成的源代码应如下所示: 1. privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt) 2. /Firstwedefinefloatvariables. 3. floatnum1,num2,result; 4. /Wehavetoparsethetexttoatypefloat. 5. num1=Float.parseFloat(jTextField1.getText(); 6. num2=Float.parseFloat(jTextField2.getText(); 7. /Nowwecanperformtheaddition. 8. result=num1+num2; 9. /WewillnowpassthevalueofresulttojTextField3. 10. /Atthesametime,wearegoingto 11. /changethevalueofresultfromafloattoastring. 12. jTextField3.setText(String.valueOf(result); 程序已创建完毕,我们现在可以生成并运行该程序以查看其运行情况。 练习 4:运行程序 在 IDE 中运行程序:1. 选择“运行”“运行主项目”。 2. 如果显示的窗口通知您项目 NumberAddition 没有设置主类,则应在同一窗口中选择 my.NumberAddition.NumberAdditionUI 作为主类,然后单击“确定”按钮。 在 IDE 外部运行程序:1. 选择“运行”“清理并生成主项目”(Shift-F11) 以生成应用程序 JAR 文件。 2. 通过使用系统的文件资源管理器或文件管理器,导航至 NumberAddition/dist 目录。 3. 双击 NumberAddition.jar 文件。 几秒钟后,将会启动应用程序。注意:如果在双击 JAR 文件时没有启动应用程序,请参见本文以了解在操作系统中设置 JAR 文件关联的相关信息。也可以通过命令行启动应用程序。通过命令行启动应用程序:1. 在系统上,打开命令提示符或终端窗口。 2. 在命令提示符中,转至 NumberAddition/dist 目录。 3. 在命令行中,键入以下语句: 1. java-jarNumberAddition.jar事件处理的工作方式 本教程已介绍了如何响应简单的按钮事件。还可以让应用程序响应很多其他事件。IDE 可以帮助您查找 GUI 组件可处理的可用事件列表:1. 返回至编辑器中的 NumberAdditionUI.java 文件。单击“设计”标签以在 GUI 生成器中查看 GUI 布局。 2. 右键单击任何 GUI 组件,然后从弹出式菜单中选择“事件”。目前,仅浏览菜单以查看其中的内容,而无需选择任何内容。 3. 或者,也可以从“窗口”菜单中选择“属性”。在“属性”窗口中,单击“事件”标签。在“事件”标签中,可以查看和编辑与当前活动 GUI 组件关联的事件处理程序。 4. 可以让应用程序响应按键、鼠标单击、双击和三击、鼠标移动、窗口大小以及焦点变化。可以从“事件”菜单中为所有这些内容生成事件处理程序。最常用的事件是 Action 事件。(要了解事件处理的最佳做法,请参见 Sun 的 Java 事件教程。) 事件处理是如何工作的呢?每次从“事件”菜单中选择事件时,IDE 都会自动创建一个所谓的事件侦听程序,并将其与组件关联。请完成以下步骤以查看事件处理的工作方式。1. 返回至编辑器中的 NumberAdditionUI.java 文件。单击“源”标签以查看 GUI 源代码。 2. 向下滚动并注意刚实现的方法 jButton1ActionPerformed()、jButton2ActionPerformed() 和 jButton3ActionPerformed()。这些方法称为事件处理程序。 3. 现在,滚动至名为 initComponents() 的方法。如果未看到该方法,请查找显示 Generated Code 的行;单击该行旁边的 + 号以展开折叠的 initComponents() 方法。 4. 首先,请注意 initComponents() 方法周围的蓝色块。此代码是由 IDE 自动生成的,无法对其进行编辑。 5. 现在,浏览 initComponents() 方法。此外,该方法还包含用于初始化 GUI 组件并将其放置在窗体上的代码。在“设计”视图中放置和编辑组件时,将会自动生成和更新该代码。 6. 在 initComponents() 中,向下滚动至显示以下内容的位置: 1. jButton3.setText(Exit); 2. jButton3.addActionListener(newjava.awt.event.ActionListener() 3. publicvoidactionPerformed(java.awt.event.ActionEventevt) 4. jButton3ActionPerformed(evt); 5. 6. );这是在 GUI 组件中添加事件侦听程序对象的位置;在本示例中,将在 jButton3 中注册 ActionListener。ActionListener 接口具有一个 actionPerformed 方法,该方法采用 ActionEvent 对象(只需调用 jButton3ActionPerformed 事件处理程序即可实现)作为其参数。现在,该按钮将侦听 action 事件。每次按下该按钮时,都会生成 ActionEvent 并将其传递给侦听程序的 actionPerformed 方法,而该方法又会执行在该事件的事件处理程序中提供的代码。一般来说,要能够进行响应,每个交互式 GUI 组件需要在事件侦听程序中进行注册,并且需要实现事件处理程序。正如您所看到的一样,NetBeans IDE 可处理关联事件侦听程序的工作,因此,您可以集中精力实现应由事件触发的实际业务逻辑。 NetBeans 6.0 提高生产力之Swing Application Framework (JSR 296)一篇博客介绍了NetBeans Java代码编辑器,这一篇将介绍用NetBeans 开发基于Swing Application Framework (JSR 296) 的程序,Swing一直以来是饱受争议的GUI库,特别是SWT与Swing的争论,分别体现在了Eclipse与NetBeans的争论上。在此,我无心讨论SWT与Swing孰优孰劣,你要是真的对这个感兴趣,可以到williamchen的博客里的Swing专栏看看,该专栏博主已经对SWT和Swing分析得非常透彻:/swingjavaSwing在1998 年末作为Java 2的一部分发布了1.0,但是当时发布的版本不管是性能还是外观都足以令人失望。虽然当时Swing小组的工程师使用了最前沿的技术,如设计模式,但是时 的Swing小组已经被性能、本地化外观一致性问题以及许多错误深深陷住了,这些问题几乎把整个项目拖垮。幸亏,Swing小组坚持了下来,要不然今天我们就不会看到像NetBeans这样的IDE了。自从JDK1.5后,Java的性能已经有了巨大的改观,现在1.6下,Swing的性能已经完全不是问题。那么Swing的优势有那些呢?l优秀的设计,正如刚才所说的,Swing从九十年代中期开始设计就用了当时最前沿的开发方法学。可以说Swing在当今各种GUI库中,设计是非常优雅的。l轻量级l官方的存在JRE中,发布程序不需要像SWT那样还要捆绑自己的GUI库l真正的平台独立,Swing组件由Java 2D绘制l轻易的更改面观模式l强大的IDE支持,现在用NetBeans做界面,几乎不用你敲一行代码。lSwing现在又多了一个杀手级框架Swing Application Framework (JSR 296)下面开始我的第二篇Java博客NetBeans 6.0提高生产力之Swing Application Framework (JSR 296)Swing Application Framework简介Swing Application Framework(以下简称SAF)致力于简化Swing应用程序的开发,框架定义了对大多数桌面应用程序的共有的基础设施:l应用程序生命周期管理,特别是GUI的启动和关闭。l对资源管理和载入的支持,这些资源是字符串,格式化的消息,图像,颜色,字体以及桌面应用程序共有的其他类型的资源。l对动作定义,管理和绑定的支持,其中包含了异步运行的动作(在后台运行)。l持久化会话状态:支持自动地,有选择地保存应用程序一次运行到下次运行的GUI状态。比如顶层的窗口几何位置。用NetBeans开发SAFSAF已经定义了大多数桌面应用程序的基础设施,我们可以更方便的开发Swing程序了,但是手动编码开发GUI还是让很多人抓狂。能不能提供一个像VB一样的环境,让程序员更加专注于功能的实现而不是界面的实现?答案是肯定的,NetBeans 6.0就为开发SAF提供了这样一个环境,甚至比VB还要做得更好。那么到底NetBeans6.0为SAF提供了什么样的优势呢?l生成基础框架,不必每次新创建一个程序的时候都从头开始l唾手可得的国际化支持,在Netbeans里对SAF程序国际化,简单得不能再简单l拥有Swing世界里的明星级UI设计工具模块Matisse提供的免费大餐l用NetBeans开发SAF,意味着你还可以使用Beans Binding(JSR 295),数据绑定将问题变得更简单开始之前用NetBeans 6.0开发基于SAF,其实不用明白SAF,主要遵循一定的开发原则也可以开发出稳定高效的SAF程序来但是为了你更深入的理解SAF,强烈建议看下面的文章lUsing the Swing Application Framework (JSR 296)/developer/technicalArticles/javase/swingappfr/lSwing应用程序框架(Swing Application Framework)API绪论(JSR-296)之一/topic/81326Swing应用程序框架(Swing Application Framework)API绪论(JSR-296)之二/topic/81327l如果你有更多的时间,那么请看下面网址有关Swing的部分/swingjava开发环境准备JDK1.6或以上版本NetBeans6.0或以上版本提示:Netbeans 网站上提供有六种捆绑包下载lWeb & Java EElMobilitylJava SElRubylC/C+lAll开发Swing Application Framework只需要Java SE下载包就行了这样能真正发挥NetBeans的性能!创建项目我们新建一个项目,从Java种类里选择 Java Desktop Application,如下图点击下一步,接着输入项目名称、项目存放地址和程序的主类在Choose Application Shell里面我们选择Basic Application,单击完成提示:我们如果创建基于Swing的数据库程序,那么选择BataBase Application将提供极大的便利。但是在这里我只是介绍Basic Application,也就是现在我们用SAF开发普通的桌面程序。生成的项目目录结构lMETA-INF/services目录该目录一般存在一个JAR包里面META-INF/services目录涉及一个模式:服务提供者模式引入该模式一般是为了程序松散耦合,而且是IoC(控制反转)的另一种实现方式服务提供者模式一般有两个角色服务 :一般为一个抽象类服务提供者 :抽象类的实现存在META-INF/services目录的JAR包一般为一个“服务提供者”用NetBeans开发中小型程序不需要服务提供者概念,如果你要深入理解可以Baidu或Google一下META-INF/serviceslfoo包foo包是我们创建程序的主类foo.FooApp时,NetBeans自动为我们生成的,我们来看看NetBeans为我们生成了什么基础框架类:1、FooApp.javapublicclassFooAppextendsSingleFrameApplication/*在启动的时候创建和显示程序的主框架*/Overrideprotectedvoidstartup()show(newFooView(this);/*这个方法是用相应的资源注入到特定的Window来初始化程序*因为我们用NetBeansk开发,所以相应的资源是通过Gui生成器来完成*也就是不用我们手动编写代码*所以这个方法不是必须的*/OverrideprotectedvoidconfigureWindow(java.awt.Windowroot)/*一个方便的静态获取器,用来获取FooApp类的实例*/publicstaticFooAppgetApplication()returnApplication.getInstance(FooApp.class);/*程序的运行入口点*/publicstaticvoidmain(Stringargs)launch(FooApp.class,args);FooApp.java里面的代码是NetBean为我们生成的,开发简单的程序这里基本上不需要更改什么。2、FooAboutBox.java每个程序都应该有一个关于界面,Netbeans为我们生成了关于的模板修改相应文字就可以了,当然也可以自己做个Ab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品退货工作管理制度
- 药库药品效期管理制度
- 营运公司安全管理制度
- 设备保养常规管理制度
- 设备备件出库管理制度
- 设备报废制度管理制度
- 设备检修通道管理制度
- 设备管理系统管理制度
- 设备项目安装管理制度
- 设计公司招待管理制度
- SB/T 10279-2017熏煮香肠
- GB/T 6185.2-20162型全金属六角锁紧螺母细牙
- GA/T 1394-2017信息安全技术运维安全管理产品安全技术要求
- IB教育中的PYP介绍专题培训课件
- 2022年桂林市卫生学校教师招聘笔试题库及答案解析
- 栏杆安装单元工程施工质量验收评定表完整
- 外墙清洗服务工程项目进度保障计划
- 2×300MW火电厂电气一次部分设计
- (全新)政府专职消防员考试题库(完整版)
- 岭南版 美术八年级下册 6色彩的表现 教案
- 2022年广东省公务员考试申论真题及参考答案
评论
0/150
提交评论