Java Passion
Tuesday Apr 22, 2008
NetBeans GUI (二)
本练习将介绍如何用事件处理程序功能构建一个简单的 GUI。
本练习基于 Saleem Gul 和 Tomas Pavek 发表在 www.netbeans.org 上的 Adding Functionality to Buttons: A Beginners Guide 这篇文章。该文章由 www.netbeans.org 的 Ruth Kusterer 进行维护。
(2.1)创建一个 NetBeans
项目
1. 创建一个 NetBeans 项目
- 选择 文件->新建项目。
- 注意到出现了新建项目对话框。
- 选择 类别 下的 Java,和 项目 中的 Java 桌面应用程序。
- 单击 下一步 按钮。
- 等待 名称和位置 窗格出现。
- 在 项目名称 字段中键入 NumberAddition。(如图 2.11
所示)
- 单击 完成 按钮。
(2.2)
添加面板容器
1. 在设计窗口添加面板组件。
- 将 Swing 控件 列表中的 面板 组件拖曳至设计窗口的左上角。
- 注意到该面板组件出现在设计窗口中。
- 点住 JPanel 右边的大小调整柄,拖曳至布满点的基准线出现在表单边缘。
3. 改变该 JPanel 组件的属性。
- 在 IDE 右下角的属性窗格中,单击 border 属性旁边的省略按钮 (...)。
- 注意到出现了 jPanel1[JPanel] - border 属性编辑器对话框。
- 选择 TitledBorder。
- 将 Title 改为 Number Addition。
- 将颜色改为您喜欢的颜色。
- 将字体改为粗体。(如下图 2.21 所示)
(2.3)为面板容器添加组件
1. 添加几个组件,如下图 2.31 所示。添加三个标签组件、三个文本字段组件和三个按钮组件。

图 2.31:添加组件到 JPanel
2. 将标签组件的文本显示值改为 First Number:、Second Number: 和 Result: ,如下图 2.32 所示。3. 右对齐这三个标签。

图 2.32:改变标签的文本值
4. 右键单击 jTextField1 文本字段组件并选择 编辑文本。(如图 2.33 所示)

图 2.33:选择编辑文本
5. 删除 jTextField1 字符串。6. 对其他两个文本字段组件重复该过程。7. 右键单击 jButton1 组件并选择 编辑文本 将其值改为 Add。(如下图 2.34 所示)
8. 对其他两个按钮组件重复该过程,将其值改为 Clear 和 Exit。

图 2.34:改变组件的文本值
9. 观察最终结果的外观,如下图 2.35 所示。

图 2.35:Number Addition GUI
(2.4) 为 GUI
组件添加事件处理程序
在本步骤中,您将注册事件处理程序到按钮。当按下按钮,注册到该按钮的事件处理程序将被调用。1. 右键单击 Exit 按钮并选择 事件->Action->actionPerformed.

图 2.41:为 Exit 按钮添加事件处理程序
2. 修改 Exit 按钮的事件处理程序。当按住 Exit 按钮,名称为 jButton3ActionPerformed 的事件处理程序被调用。需要添加的代码段突出显示为粗体。
| private void
jButton3ActionPerformed(java.awt.event.ActionEvent evt){ System.exit(0); } |

图 2.42:System.exit(0)方法添加到处理程序中
3. 右键单击 Clear 按钮并选择 事件->Action->actionPerformed。4. 按照下列要求修改事件处理程序。需要添加的代码段突出显示为粗体。
| private void
jButton2ActionPerformed(java.awt.event.ActionEvent evt){ jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); } |

5. 右键单击 Add 按钮并选择 事件->Action->actionPerformed。6. 按照下列要求修改事件处理程序。需要添加的代码段突出显示为粗体。
| 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)); } |

(2.5)
生成和运行应用程序

图 2.51:运行该应用程序
2. 执行 Add 操作。
- 输入数字到 First Number 和 Second Number 字段中。
- 单击 Add 按钮。(如图 2.52 所示)

图 2.52:执行 Add 操作
- 注意到运行结果显示在 Result 字段。(如图 2.53 所示)

图 2.53:显示出结果
3. 执行 Clear 操作。
- 单击 Clear 按钮。
- 注意到字段被清空了。(如图 2.54 所示)

图 2.54:执行 Clear 操作
4. 执行 Exit 操作。
- 单击 Exit 按钮。
- 注意到该应用程序关闭了。(如图 2.55 所示)

图 2.55:执行 Exit 操作
课外练习(针对 Sang Shin“Java EE 编程在线课程”的学习者)
1. 课外练习是对 NumberAddition 项目进行修改,在其中添加一个 Subtract 按钮。Subtract 按钮将从 First Number 字段值中减去 Second Number
字段的值,并在 Result 字段中显示结果(可以通过复制 MyNumberAddition
项目创建一个新项目)。您可以将课外练习项目命名为任意名称,此处将其称为 MyNumberAddition。)
- MyNumberAddition NetBeans
项目的压缩文件。(其他人应该能够将其作为 NetBeans 项目打开并运行。) 您可以使用喜欢的压缩工具或者使用 JDK 随带的 "jar"
实用工具,如下所示。
- cd <包含 MyNumberAddition
目录的父目录>(假设将项目命名为 MyNumberAddition)
- jar cvf MyNumberAddition.zip MyNumberAddition (MyNumberAddition 应包含 nbproject 目录)
- cd <包含 MyNumberAddition
目录的父目录>(假设将项目命名为 MyNumberAddition)
- 抓取输出屏幕 - 将其命名为 JavaIntro-nbguibuilder.gif 或 JavaIntro-nbguibuilder.jpg (或
JavaIntro-nbguibuilder<任意图片格式均可>)。
- 抓取的屏幕截图只需显示程序正常运行即可。不需要任何修饰和美化。
- 如果决定使用 NetBeans 之外的其他 IDE,则压缩文件应该包含重新编译项目所需的所有文件。
Posted at 02:48AM Apr 22, 2008 by Sang Shin in Web Services | Comments[0]
Comments:

