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 进行维护。

    1. 创建一个 NetBeans 项目
    2. 添加面板容器
    3. 为面板容器添加组件
    4. 为组件添加事件处理程序

(2.1)创建一个 NetBeans 项目

1. 创建一个 NetBeans 项目

  • 选择 文件->新建项目
  • 注意到出现了新建项目对话框。
  • 选择 类别 下的 Java,和 项目 中的 Java 桌面应用程序
  • 单击 下一步 按钮。
  • 等待 名称和位置 窗格出现。
  • 项目名称 字段中键入 NumberAddition。(如图 2.11 所示)
  • 单击 完 按钮。

图 2.11:创建 NumberAddition 项目

                                                                                                   

(2.2) 添加面板容器

1. 在设计窗口添加面板组件。

  • Swing 控件 列表中的 面板 组件拖曳至设计窗口的左上角。
  • 注意到该面板组件出现在设计窗口中。
2. 改变该 JPanel 组件的大小。
  • 点住 JPanel 右边的大小调整柄,拖曳至布满点的基准线出现在表单边缘。

3. 改变该 JPanel 组件的属性。

  • 在 IDE 右下角的属性窗格中,单击 border 属性旁边的省略按钮 (...)。
  • 注意到出现了 jPanel1[JPanel] - border 属性编辑器对话框。
  • 选择 TitledBorder
  • 将 Title 改为 Number Addition
  • 将颜色改为您喜欢的颜色。
  • 将字体改为粗体。(如下图 2.21 所示)

图 2.21:改变 JPanel 的属性

                                                                                                   


(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) 生成和运行应用程序


1. 右键单击 NumberAddition 项目并选择 运行。(如图 2.51 所示)


图 2.51:运行该应用程序

2. 执行 Add 操作。
  • 输入数字到 First NumberSecond 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。)

2. 将以下文件以 JavaIntro-nbguibuilder 作为 主题 发送至 javaintro1homework@sun.com
  • MyNumberAddition NetBeans 项目的压缩文件。(其他人应该能够将其作为 NetBeans 项目打开并运行。) 您可以使用喜欢的压缩工具或者使用 JDK 随带的 "jar" 实用工具,如下所示。
    • cd <包含 MyNumberAddition 目录的父目录>(假设将项目命名为 MyNumberAddition
    • jar cvf MyNumberAddition.zip MyNumberAddition (MyNumberAddition 应包含 nbproject 目录)
  • 抓取输出屏幕  - 将其命名为 JavaIntro-nbguibuilder.gif JavaIntro-nbguibuilder.jpg (或 JavaIntro-nbguibuilder<任意图片格式均可>)。
    • 抓取的屏幕截图只需显示程序正常运行即可。不需要任何修饰和美化。
  • 如果决定使用 NetBeans 之外的其他 IDE,则压缩文件应该包含重新编译项目所需的所有文件。








原文链接:http://www.javapassion.com/handsonlabs/nbguibuilder/index.html

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed

Calendar

Feeds

Search

Links

Navigation

Referrers