文档

Java™ 教程
隐藏目录
添加应用逻辑
指南:使用Swing创建GUI
课程:在NetBeans IDE中学习Swing

添加应用程序逻辑

现在是时候添加应用程序逻辑了。

第一步:更改默认变量名

下图显示了当前在Inspector中显示的默认变量名。对于每个组件,变量名首先出现,然后是方括号中的对象类型。例如,jTextField1 [JTextField]表示"jTextField1"是变量名,"JTextField"是它的类型。

默认变量名

默认变量名

默认名称在此应用程序的上下文中并不是很相关,因此将它们从默认值更改为更有意义的值是有意义的。右键单击每个变量名,然后选择"更改变量名"。完成后,变量名应显示如下:

新变量名

新变量名

新的变量名分别是"tempTextField"、"celsiusLabel"、"convertButton"和"fahrenheitLabel"。您在Inspector中进行的每个更改都会自动传播回源代码中。您可以放心,由于打字错误或手动编辑中常见的错误,编译不会失败。

第二步:注册事件监听器

当最终用户与Swing GUI组件交互(例如点击转换按钮)时,该组件将生成一种特殊类型的对象 - 称为事件对象,然后将其广播到先前为该事件注册为监听器的任何其他对象。NetBeans IDE使事件监听器注册变得非常简单:

使用NetBeans GUI将actionPerformed方法连接到对象
为了适应页面,此图已被缩小。
单击图像以查看其原始大小。

在设计区域中,单击转换按钮以选中它。确保只有转换按钮被选中(如果还选中了JFrame本身,则此步骤将无效)。右键单击转换按钮,选择事件 -> 动作 -> actionPerformed。这将生成所需的事件处理代码,使您只需在其中添加自己的功能:

源代码选项卡中的actionPerformed方法
为了适应页面,此图已被缩小。
单击图像以查看其原始大小。

有许多不同的事件类型,代表着用户可以执行的各种操作(点击鼠标触发一种类型的事件,键盘输入触发另一种类型的事件,移动鼠标触发另一种类型的事件等等)。我们的应用程序只关心ActionEvent;有关事件处理的更多信息,请参阅编写事件监听器

步骤3:添加温度转换代码

最后一步就是将温度转换代码简单粘贴到空的方法体中。以下代码是将温度从摄氏度转换为华氏度所必需的全部代码:


注意: 

此示例不可本地化,因为parseDouble方法不可本地化。此代码片段仅用于说明目的。更健壮的实现将使用Scanner类来解析用户输入。


    //将摄氏度作为double解析并转换为华氏度。
    int tempFahr = (int)((Double.parseDouble(tempTextField.getText()))
            * 1.8 + 32);
    fahrenheitLabel.setText(tempFahr + " 华氏度");

只需复制此代码并将其粘贴到convertButtonActionPerformed方法中,如下所示:

步骤3:添加温度转换代码
此图已经缩小以适应页面。
点击图像以以其自然大小查看。

完成转换代码后,应用程序就已经完成了。

步骤4:运行应用程序

运行应用程序只需在NetBeans IDE中选择运行 -> 运行主项目。第一次运行此应用程序时,会提示您设置CelsiusConverterGUI为该项目的主类。单击“确定”按钮,程序完成编译后,您应该可以看到应用程序在自己的窗口中运行。

恭喜!您已完成了第一个Swing应用程序!


上一页:调整CelsiusConverter GUI
下一页:问题和练习:使用NetBeans IDE学习Swing