第四节 添加SWT库
在Eclipse环境下创建SWT程序,必须设置Java build path (或classpath),以便包含SWT的JAR文件(swt.jar)。我们来编写一个简单的SWT窗口程序,验证一下已正确设置了生成SWT程序所需的环境。
在package explorer窗口中早先创建的工程名上,点右键,选择New->Class。在class name中输入BlankWindow,点Finish。这个类就被创建好了,它的代码出现在编辑窗口(editor window)里。将列表2-1中的代码输入编辑窗口。
import org.eclipse.swt.widgets.*;
public class BlankWindow
{
public static void main (String[] args)
{
Display display = new Display();
Shell shell = new Shell(display);
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
}
保存这个文件,然后您会在任务窗口(Tasks window)中看到一些出错提示。要想编译这个程序,还要把SWT的JAR文件添加到Java build path中。在pakcage explorer中的工程名上点鼠标右键,选择属性(Properties),在弹出的属性窗口中就可以配置build path了。在左边面板选择Java build paht,在右边选择Libraries。然后点按钮“Add External JARs”,最后用选择文件的对话框添加swt.jar。一般的,swt.jar的路径是:
<eclipse_install_directory>/plugins/org.eclipse.swt.<windowing_system>_<eclipse_version_number>/ws/<windowing_system>/swt.jar
例如,Windows平台下,Eclipse3.0的swt.jar文件在Eclipse安装目录下的plugins\org.eclipse.swt.win32_3.0.0\ws\win32里;在Linux Motif平台上,它在plugins/org.eclipse.swt.motif_3.0.0/ws/motif里;而在Mac OS X上,它在plugins/org.eclipse.swt.carbon_3.0.0/ws/carbon里。图 2-11显示了已添加SWT JAR文件的java生成路径。
图2-11 Java build path
提示:GTK版本还需要把swt-pi.jar添加到build path,swt-pi.jar与swt.jar在同一目录下。
现在,任务窗口(Tasks window)中应该没有出错提示了。您已经成功地保存并编译了第一个程序。但是,在运行这个程序之前,您还需设置一个参数。因为SWT是基于Java JNI(Java Native Interface)来实现视窗系统的功能的,所以您必须设置运行环境(runtime environment),以便它能在库文件中找到本地实现。这个设置还是和您的操作系统相关的。
在Eclipse的主菜单中选择Run->Run,打开一个运行对话框(run dialog box),就可以对本地库进行设置了。点击“新建(New)”按钮,创建一个名称为BlankWindow的配置项,它的Main class是BlankWindow。点“参数(Argguments)”标签,在“VM参数”中输入参数-Djava.library.path,并输入下述目录:目录一般是<eclipse_install_directory>/plugins/org.eclipse.swt.<windowing_system>_<eclipse_version_number>/os/<operating_system>/<processor_architecture>。Windows下是Eclipse安装目录中的plugins\org.eclipse.swt.win32_3.0.0\os\win32\x86;对于Mac OS X,是plugins/org.eclipse.swt.carbon_3.0.0/os/macosx/ppc。Windows下的路径如图2-12所示。
图2-12 添加SWT库之后的运行对话框
点击“运行(Run)按钮,会出现一个空白窗口。下面,您可以构建更有意义的SWT和JFace程序了。