SWT(Standard Widget Toolkit)是IBM推出的“基于java”的圖形界面開發(fā)庫,我之所以說它是“基于java”的意思是程序員編寫代碼的時候是使用java語言,事實上SWT的底層實現(xiàn)是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文件,導(dǎo)出為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)
不知道咋回事?