一般网上安装windowbuild的教程较多,也较为简单(需要先安装此插件:安装过程可参看此链接:http://blog.csdn.net/qq_28859405/article/details/52562131),但是涉及到windowbuild的使用方面教程非常少(因为本身会用它的就比较少),所以这里通过查找资料简单给大家介绍一下它的使用(非常片面。。)
首先新建工程test,然后建包test,然后创建图形界面
图形界面在nwe中的other中打开
然后在弹出页面中找到:WindowBuilder--->Swing Designer---->Application Window后,点击下方的Next
随意定义一个名字,然后点击Finish
然后在出现的页面中点击Design
显示效果:
WindowBuilder Eidtor的界面能够可视化地对界面进行设计。点击Layouts下的Absolute layout,再点击窗体,使用绝对定位;点击Components下的JTextField,再点击窗体,添加一个文本框,修改其Variable属性为”txtName“;
点击Components下的JButton,再点击窗体,添加一个按钮,修改其Variable属性为btnSubmit,修改其text属性为”Submit“;
点击Components下的JLabel,再点击窗体,添加一个标签,修改其Variable属性为lblName,修改其text属性为”Name:“;
同样方法再添加一个JLabel,修改其Variable属性为lblMessage,修改其text属性为”Please enter your name.“;调整界面尺寸,最终得到如下界面:
点击运行查看
可以看到一个刚才制作的界面
这时点击左下角的”Source“标签回到代码编辑器,可以看到WindowBuilder生成的代码如下:
如果在点击”Source“标签前选中了某个组件,则点击”Source“回到代码编辑器后,光标则会自动定位到对应的组件。
再点击”Design“回到WindowBuilder Editor,双击Submit按钮,同大多数GUI开发工具类似,WindowBuilder认为此时要编写事件处理代码,界面自动切换到代码编辑器,且WindowBuilder已经在initialize()中完成了监听器的定义和注册:(此时指向按钮处的代码)

然后修改这个initialize函数,添加监听事件,这里将lblMessage的定义放在按钮btnSubmit之前,并定义为final(在匿名类内部使用外部定义的对象,则该对象必须为final)
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
txtName = new JTextField();
txtName.setBounds(192, 53, 102, 21);
frame.getContentPane().add(txtName);
txtName.setColumns(10);
final JLabel lblMessage = new JLabel("Please enter your name.");//将之前在JButton下面的代码块剪切到上面,并定义为final型
lblMessage.setBounds(130, 186, 273, 15);
frame.getContentPane().add(lblMessage);
JButton btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {//点击按钮触发的事件
lblMessage.setText("Hello " + txtName.getText() + "!");//修改最下面的内容为获取到文本框中的内容
}
});
btnSubmit.setBounds(165, 125, 93, 23);
frame.getContentPane().add(btnSubmit);
JLabel lblName = new JLabel("Name:");
lblName.setBounds(109, 56, 62, 15);
frame.getContentPane().add(lblName);
}
运行结果如下:
点击按钮之前:
向文本框输入内容,点击按钮之后:
总结: WindowBuilder能够可视化地开发界面,并自动生成大部分代码,可以极大地方便JAVA GUI的设计和开发,但WindowBuilder完成的代码毕竟为机器自动生成,对于复杂的界面和事件处理,仍需要手动对代码进行整理。多数情况下,对WindowBuilder生成的代码进行移动后,WindowBuilder Editor仍能可视化地显示界面。