吴建明的博客
java 技术交流

2006年3月10日

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)
不知道咋回事?
posted @ 2006-03-10 16:02 吴.建明 阅读(941) | 评论 (0)编辑 收藏