SWT/Jface Step by Step(一)
Original Author: 李红军 <lihongjun007@gmail.com>
重点介绍
SWT/JFACE
编程
,
主要介绍在
eclipse
下用
Windowbuilder
来开发
SWT/JFACE,
在这一篇中重点介绍几个
eclipse
下常用的
GUI
插件
,
然后以一个
hello world
为例
,
在本文的后续文章中将会陆续给出更为详细的介绍。
本文中如果发现问题和错误,请随时联系笔者,以免误导他人。
本文转载不限,不过请保持本文完整。万分感谢!
2006/07/08
Plugins for GUI Introduction
l
SWT Designer :
可以从:
http://eclipse.openwebeng.com/downloads/drops/R-3.1-200506271435/swt-3.1-win32-win32-x86.zip
中下载到所需要的插件
l
Matisse GUI Builder
:适合于
NetBeans
下,不过在
eclipse 中
也可以使用。
Matisse For MyEclipse - 基于MyEclipse的Swing的可视化编辑器。
MyEclipse开发了一个开发swing程序的插件。
了解详情请访问: http://myeclipseide.com/enterpriseworkbench/help/index.jsp?topic=/com.genuitec.eclipse.dehory.doc/doc/install/index.html
NetBeans
开发小组近日宣布,推出
NetBeans 5.0
新更新内容,
Matisse GUI Builder
。
此次更新的功能都将可以用在
NetBeans 6.0
开发环境中。
此次发布的新功能主要包括:
1. Automatic Internationalization
2. Visual Localization
3. Preview with Look and Feel
4. Relative Font Definition
5. Context Sensitive Help Bar
6. Reorganized Palette
7. Dragging Components from Projects Explorer
8. Support for Java 6 Layout
9. Bugfixes
可以从:
http://form.netbeans.org/JavaOne/
获得下载更新。
l
Windowbuilder
:
WindowBuilder Pro v
v5.0.0
这是目前最新的版本,支持
Eclipse 3.1
和
Eclipse 3.2
,此软件就是开发
Swt-Designer
和
Swing-Designer
公司的最新产品,它就是这两种软件的一个结合体(包含
Swt-Designer
和
Swing-Designer
最新专业版的所有功能),值得推荐!!!
我用的是
4.1.1
注册版截图
[
图一
][
注意,注册版的运行界面右上方没有提示激活和购买的选项:
图一
下载地址:
http://www.instantiations.com/swt-designer/
大家可以根据自己的需要选择对应的版本
破解补丁下载地址
[
注意对应相应的版本
]
:
WindowBuilder Pro For Eclipse 3.1 And 3.2 v4.1.1
注册机
Keygen
http://soft.winzheng.com/SoftView/SoftView_28473.htm
基本上能总结的就是这么多了,如果大家还有什么问题,欢迎跟大家一起交流,以上过程在
Windows XP + J2SDK 1.5 + Eclipse 3.1.2
下调试成功。
eclipse
和
windowsBuilder
的安装破解
:
1.
从
windowBuilder( http://www.instantiations.com/swt-designer)
下载与你的
eclipse
所对应的版本
2.
下载破解文件注册
:
http://soft.winzheng.com/SoftView/SoftView_28473.htm
在
eclipse
安装目录下建立
links
文件夹,将
windowBuilder.start
放在此文件夹下,文件内容为插件的存放位置,插件可放在任意位置
.
用
agiwp411km.exe
生成注册码注册
.
打开
eclipse
-
>Window
-
>Designer,
点击
Registration and Activation
,选择
WindowBuilder
,
Professional
。
next
,填写资料,注意
Name
中名和姓要分开写,如
hongjun li
。
next
,填入序列号和激活码。
finished
!
NOTE:
我假定你在读这篇文章的时候已经对Eclipse有所了解,所以不会解释到具体Eclipse如何使用。
Contact me
如果你希望和我联系的话,你可以发
email
到
lihongjun007@gmail.com
。
我的
blog
:
http://www.blogjava.net/hongjunli/
Important
如果你不知道什么是
eclipse
?你可以打开
http://www.eclipse.org/
,这是
eclipse
的官方站点。
你不知道什么是
Swt/JFace,
你可以读一下《
eclipse in action
》这本书。
A Simple Demo!
下面的内容就是我们的
Demo
示例。首先建立一个类,我将这个类取名为
MyFrame
,在我的
SWT
工程中,它位于
net.itpub.hongjunli
包的下面。类的内容如下:
package net.itpub.hongjunli;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class MyFrame {
/**
* Launch the application
* @param args
*/
public static void main(String[] args) {
//
获得
display
类型的对象
final Display display = Display.getDefault();
//
构造程序的主窗口
final Shell shell = new Shell();
//
设置主窗口的大小
shell.setSize(426, 245);
//
设置主窗口的标题,显示
Hello, Hongjun
shell.setText("Hello, Hongjun ");
//
打开猪窗口
shell.open();
//
设置文本框的文字、字体以及大小
final Text thisIsMyText = new Text(shell, SWT.BORDER);
thisIsMyText.setText("This is my first designer");
thisIsMyText.setBounds(67, 35, 170, 27);
//
设置按钮的标签文字、大小及位置
final Button button = new Button(shell, SWT.NONE);
button.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
}
});
button.setText("Begin");
button.setBounds(32, 103, 71, 37);
button.addSelectionListener(new SelectionAdapter() {
//
如果单击按钮事件发生之后
public void widgetSelected(SelectionEvent e) {
//
改变文本框中显示的文本信息
thisIsMyText.setText("
你单击了
Begin
按钮
");
}
});
final Button button_1 = new Button(shell, SWT.NONE);
button_1.addSelectionListener(new SelectionAdapter() {
//
如果单击按钮事件发生之后
public void widgetSelected(SelectionEvent e) {
//
改变文本框中显示的文本信息
thisIsMyText.setText("
你单击了
End
按钮
");
}
});
button_1.setText("End");
button_1.setBounds(190, 97, 75, 43);
//
设置主窗口的布局
shell.layout();
//if display
不运行,则让
display
休眠
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
代码段
1
关于这段代码的内容,我们会在下面的内容中进行详细介绍。现在我们可以尝试着运行一下,确定已经编译完成后从
eclipse
的
Package Explorer
中选中这个类然后点右键,在弹出的菜单中你会看到
Run As
,进一步选中这一项,然后在级联菜单中选
“Run As SWT Application”
,如果运行正常的话你会看到如图
2
的运行结果:
图二
CONTINUE