### 使用设计器设计 Windows 系统的运行对话框界面

SWT-Designer 插件为 Eclipse 提供了应用程序界面设计的功能，本实例要求读者使用该设计器，设计一个模仿 Windows 系统运行对话框的界面。该对话框的界面效果如图 1 所示。

图 1 运行对话框界面

#### 解题关键：

l Swing 使用多种布局管理器进行组件布局，如果不了解它们，可以不使用布局管理器，使用绝对定位来布局组件位置和大小。

l 使用 UIManager.setLookAndFeel()方法可以设置应用程序的外观。

l 使用 UIManager.getSystemLookAndFeelClassName()方法可以获取当前系统的外观名称。

#### 答案：

（1）新建 Java 项目，名称为“RunDialog”。

（2）在项目的“src”文件夹中单击鼠标右键，在弹出菜单中选择“新建”/“其他”菜单项。

（3）在弹出的“新建”向导对话框的“选择向导”界面中，展开“Designer”节点，选择“Swing”/“JFrame”子结点，如图 2 所示。单击确定按钮。

图 2 新建对话框

（4）在“New Swing JFrame”对话框中，向导已经自动填写了源文件夹位置和超类名称，我们需要做的是，在“名称”对话框中输入新建类的名字，例如“RunDialogDemo”。如图 3 所示，单击“完成”按钮。

图 3 New Swing Jframe 对话框

（5）向导会自动创建“RunDialogDemo”类，并完成代码的初步编写。我们需要使用设计器进行组件添加和布局，通过单击图 4 中的“Design”选项卡可以切换到设计器界面。

图 4 设计器与源码切换选项卡

（6）在设计器界面中的窗体中单击鼠标右键，在弹出的菜单中选择“Set layout”/“Absolute （null）layout”菜单项，如图 5 所示。这样就设置窗体容器使用绝对定位方式布局组件。在没有学会布局管理器之前，使用绝对定位的布局方式，相对要简单一些，拖曳组件就可以设置位置。

图 5 设置绝对定位的布局方式

（7）在设计器的“Palette”组件面板中的“Swing Controls”选项卡中选择“”组件，然后在设计器的窗体上指定位置单击鼠标左键，如图 6 所示。

图 6 创建组件

（8）选择添加到窗体中的 JLabel 组件，在属性选项卡中找到“icon”属性，如图 7 所示。单击右侧的“”按钮选择组件图标。

图 7 组件的属性界面

（9）在“Selected image”对话框中找到需要的图片文件（这是事先复制到 src 文件夹的图片），如图 8 所示。单击“确定”按钮。

图 8 选择图片对话框

（10）现在的 JLabel 组件包含了图片，但是还有多余的文本信息，如图 9 所示。修改改组件的“text”属性，如图 10 所示,将属性值删除。

图 9 组件外观 图 10 text 属性

（11）再添加一个组件显示文本，并设置“opaque”属性为“false”、设置“lineWrap”属性为“true”，然后设置“text”文本属性。设置后的效果如图 11 所示。

图 11 设置组件

（12）添加 JLabel 组件，设置文本为“打开（O）：”。

（13）添加“”组件，调整大小。效果如图 12 所示

图 12 提加组件

（14）添加 3 个按钮分别设置“text”属性为“确定”、“取消”、“浏览”。添加组件，并调整大小后，整个界面的设计效果如图 13 所示。

图 13 添加按钮

（15）切换到“Source”源码选项卡。修改主方法的程序代码如下：

public static void main(String args[]) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

RunDialogDemo frame = new RunDialogDemo();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

其中“UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());”语句是新增加的，它用于指定程序使用本地系统的外观样式。

（16）运行该程序。界面效果如图 14 所示。

图 14 运行结果