SWT(Standard Widget Toolkit)是IBM推出的“基于java”的图形界面开发库,我之所以说它是“基于java”的意思是程序员编写代码的时候是使用java语言,事实上SWT的底层实现是C语言完成的。但是这些对程序员是透明的。
1、新建一个项目,java application,
2、再建一个SWTHello class,
3、这时在属性中添加ECLIPSE_HOME/plugins/org.eclipse.swt.win32.win32.x86_3.1.2.jar,
4、您还需要把org.eclipse.swt.win32.win32.x86_3.1.2.jar解压,把其中的dll文件拷入到window\system32文件夹中
5、加入
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
在main中写入以下代码
Display display = new Display();
Shell shell = new Shell(display);
Label label = new Label(shell, SWT.NONE);
label.setText("
Hello, World!");
shell.pack();
label.pack();
shell.open();
while(!shell.isDisposed())
if(!display.readAndDispatch())
display.sleep();
display.dispose();
label.dispose();
6、ok,运行完毕。
这时编译出class文件,导出为jar,可以用exe4j把jar文件打包成exe文件,但我运行提示
java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Composite
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethod(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.exe4j.runtime.WinLauncher.main(Unknown Source)
不知道咋回事?