Eclipse中如何配置SWT
Posted 海枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse中如何配置SWT相关的知识,希望对你有一定的参考价值。
SWT类似于JDK的AWT/Swing,它依赖本机操作系统GUI控件的实现,以创建Java版的GUI控件。SWT与AWT/Swing的不同之处是SWT使用了许多本机窗口小部件,这是SWT(标准小窗口工具箱)得名之故。
由于窗口小部件系统与生俱来的复杂性以及不同系统之间的差别,即使在理想情况下,要实现和维护平台的窗口小部件库也是很难的。目前,有几种技术能够明显减少问题的复杂度,SWT库采用了这些技术中的底层实现技术。Eclipse提供的SWT使用JNI调用操作系统的内部API,所以能够实现与本机应用程序相同外观。不仅如此,SWT还可以在Java方法的操系统的调用之间建立一对一的对应关系。事实上这也是SWT取得成功的最重要因素之一。
下面是在Eclipse中使用SWT的配置过程:
第一步:无论是新建项目还是已有的项目,使用SWT只需要项目中加入SWT库即可。方法是在项目属性中的Libraries添加文件 /eclipse/plugins/org.eclipse.swt.win32.win32.x86_3.1.1.jar
上面的当前目录的Eclpse的安装目录。
第二步:找到目录eclipse/configuration/org.eclipse.osgi/bundles/5/1/.cp,拷文件swt-win32-3139.dll到c:/windows/system32下即可。
完成以上两步后即可在Eclipse下开始SWT应用程序了,下面是一个SWT的例子,摘自《Eclipse编程技术与实例》一书P268中,代码如下:
import org.eclipse.swt.widgets. * ;
public class MyLabel ... {
private Label myLabel;
private Shell shell;
private Display display;
public MyLabel()
...{
super();
display = new Display();
shell = new Shell(display);
shell.setSize(200,200);
myLabel = new Label(shell, SWT.NONE);
myLabel.setBounds(38,21,100,18);
myLabel.setText("Hello, World!");
}
public void start()
...{
shell.open();
while(!shell.isDisposed())
...{
if(!display.readAndDispatch())
...{
display.sleep();
}
}
}
public static void main(String[] args) ...{
MyLabel label = new MyLabel();
label.start();
}
}
运行一下即行看到一个窗口,与window的应用程序长得一模一样,呵呵!
当然,如果不在Eclipse下采用SWT进行开发也是可以的。方法也是与上面一样,添加相应的.jar到classpath指定的目录中,或当前项目的lib目录下,同时要把相应的.dll文件拷贝到c:/windows/system32/目录下。不同的是要下载一个SWT库即可。
本文中Eclispe版本为3.1.1
以上是关于Eclipse中如何配置SWT的主要内容,如果未能解决你的问题,请参考以下文章
在eclipse3.6(Helios)环境下SWT—Designer的安装,最好详细一点
如何在 Eclipse 中创建一个包含 SWT 组件的视图?