附录
D
手工创建一个
SWT
项目
在
SWT/JFace
篇,读者来信中反映
SWT Designer
的下载、安装、注册等问题比较多,如果用不了
SWT Designer
,读者们就无法按照书上所示的步骤创建一个
SWT
项目,也就无法继续学习下面的内容,这引起了不少读者的困扰。
这里笔者要强调一点:
SWT Designer
等
UI
设计工具并非是开发
SWT/JFace
程序所必须的,而且本书从第
7
章起就不再和
SWT Designer
有关系了。笔者现在开发
SWT
程序就再也没有用过
SWT Designer
了,它更多的时候可以做为初学者学习
SWT
的工具,以及开发初期界面布局的辅助设计工具。
这里通过附录的方式给出一个不必安装
SWT Designer
,也能轻易创建一个
SWT
项目的方法,以便无法安装
SWT Designer
的读者,继续学习本书后面的内容。此方法的操作步骤如下:
第一步:参照第
17
页第
4.2
节的第一步,新建一个普通的空
java
项目,项目取名为“
myswt
”。
第二步:参照第
26
页的“第一步:将
JFace
包加入到
Eclipse
的构建路径上”,将以下列表中
SWT/JFace
项目依赖的
jar
包,全部加入到
myswt
项目的库引用中。
ECLIPSE_HOME/plugins
目录下的
org.eclipse.osgi_3.0.1/osgi.jar
org.eclipse.osgi_3.0.1/core.jar
org.eclipse.osgi_3.0.1/resolver.jar
org.eclipse.osgi_3.0.1/defaultAdaptor.jar
org.eclipse.osgi_3.0.1/eclipseAdaptor.jar
org.eclipse.osgi_3.0.1/console.jar
org.eclipse.core.runtime_3.0.1/runtime.jar
org.eclipse.ui.workbench_3.0.1/workbench.jar
org.eclipse.ui.workbench.compatibility_3.0.0/compatibility.jar
org.eclipse.swt.win32_3.0.1/ws/win32/swt.jar
org.eclipse.jface_3.0.0/jface.jar
org.eclipse.jface.text_3.0.1/jfacetext.jar
ECLIPSE_HOME/language/eclipse/plugins/
目录下的
org.eclipse.jface.text.nl1_3.0.1/nl1.jar
org.eclipse.core.runtime.nl1_3.0.1/nl1.jar
org.eclipse.jface.nl1_3.0.0/nl1.jar
org.eclipse.ui.workbench.nl1_3.0.1/nl1.jar
说明:
(
1
)有些读者可能不太明白为什么要导入这么多
jar
包。其实道理很简单,举例说,开发基于
Hibernate
的程序,需要
Hibernate
的
jar
支持包。同样,开发
SWT/Jface
程序,也需要
SWT/Jface
的
jar
支持包。而且不仅仅是
swt.jar
、
jface.jar
两个包就够了,因为这两个包本身还需要其他
jar
包的支持。而
Eclipse
中的库引用和
Java
中
classpath
的作用是一样的。
(
2
)
ECLIPSE_HOME
在
Eclipse
中是一个变量,它指向
Eclipse
的安装目录。
(
3
)
ECLIPSE_HOME/language
中的
language
是多国语言包的安装目录(参阅图
2.4
)。
(
4
)
language
下的几个
jar
包的导入是可选的。如果不导入这几个包,则所开发的
SWT
程序在运行时,继承自原界面的控件文字将会是英文的。比如第
178
页的图
16.3
,如果不导入这几个多国语言包,则图中的“确定”按钮,将变成英文“
OK
”。
(
5
)这些界面设置的结果将保存在项目根目录下的“
.classpath
”文件中。
提示:把这些
jar
包一个个导入到项目中实在太麻烦了,这里告诉大家一个更快捷的方法:把随书光盘“第二篇
SWT_JFace
篇
(6-16
章
)\myswt
”中的
.classpath
文件覆盖当前所建项目的
.classpath
文件,然后刷新项目(右键单击项目名,选择快捷菜单的“刷新”项),这样也能完成本步的操作。
第三步:参照第
49
页,将
SWT
原生库
swt-win32-3063.dll
导入到项目中。
完成上面三步之后,我们就可以开发并运行
SWT/JFace
程序了。不过因为没有安装
SWT Designer
,因此也就无法使用
SWT Designer
提供的一些新建
SWT
程序的向导(如第
50
页),但那又有什么关系呢?我们可以直接创建
java
程序文件,直接写
swt
代码,也是一样的。