这些Java教程是针对JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并且可能使用不再可用的技术。
请参阅Java语言变化以了解Java SE 9及其后续版本中更新的语言特性的摘要。
请参阅JDK发行说明以获取有关所有JDK版本的新功能、增强功能以及已删除或弃用选项的信息。
现在是时候添加应用程序逻辑了。
下图显示了当前在Inspector中显示的默认变量名。对于每个组件,变量名首先出现,然后是方括号中的对象类型。例如,jTextField1 [JTextField]
表示"jTextField1"是变量名,"JTextField"是它的类型。
默认变量名
默认名称在此应用程序的上下文中并不是很相关,因此将它们从默认值更改为更有意义的值是有意义的。右键单击每个变量名,然后选择"更改变量名"。完成后,变量名应显示如下:
新变量名
新的变量名分别是"tempTextField"、"celsiusLabel"、"convertButton"和"fahrenheitLabel"。您在Inspector中进行的每个更改都会自动传播回源代码中。您可以放心,由于打字错误或手动编辑中常见的错误,编译不会失败。
当最终用户与Swing GUI组件交互(例如点击转换按钮)时,该组件将生成一种特殊类型的对象 - 称为事件对象,然后将其广播到先前为该事件注册为监听器的任何其他对象。NetBeans IDE使事件监听器注册变得非常简单:
在设计区域中,单击转换按钮以选中它。确保只有转换按钮被选中(如果还选中了JFrame本身,则此步骤将无效)。右键单击转换按钮,选择事件 -> 动作 -> actionPerformed。这将生成所需的事件处理代码,使您只需在其中添加自己的功能:
有许多不同的事件类型,代表着用户可以执行的各种操作(点击鼠标触发一种类型的事件,键盘输入触发另一种类型的事件,移动鼠标触发另一种类型的事件等等)。我们的应用程序只关心ActionEvent;有关事件处理的更多信息,请参阅编写事件监听器。
最后一步就是将温度转换代码简单粘贴到空的方法体中。以下代码是将温度从摄氏度转换为华氏度所必需的全部代码:
//将摄氏度作为double解析并转换为华氏度。 int tempFahr = (int)((Double.parseDouble(tempTextField.getText())) * 1.8 + 32); fahrenheitLabel.setText(tempFahr + " 华氏度");
只需复制此代码并将其粘贴到convertButtonActionPerformed方法中,如下所示:
运行应用程序只需在NetBeans IDE中选择运行 -> 运行主项目。第一次运行此应用程序时,会提示您设置CelsiusConverterGUI
为该项目的主类。单击“确定”按钮,程序完成编译后,您应该可以看到应用程序在自己的窗口中运行。
恭喜!您已完成了第一个Swing应用程序!