为什么我的SWT应用程序不起作用?

时间:2010-02-16 12:55:28

标签: java eclipse swt

我正在尝试使用Eclipse创建Hello World SWT应用程序。我遵循所有说明,最后我的程序无效。

这是我的代码:

import gnu.gcj.xlib.Display;
import org.eclipse.swt.widgets.Shell;


public class HelloWorldSWT {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setText("Hello world!");
        shell.open();
        while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) display.sleep();
        }
        display.dispose();
    }

}

这是我的错误消息:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    The constructor Shell(Display) is undefined
    The method readAndDispatch() is undefined for the type Display
    The method sleep() is undefined for the type Display
    The method dispose() is undefined for the type Display

   at HelloWorldSWT.main(HelloWorldSWT.java:13)

有人知道我怎么能检查出错了吗?

3 个答案:

答案 0 :(得分:8)

我认为您导入的是错误的Display类。正确的应该是

org.eclipse.swt.widgets.Display

答案 1 :(得分:0)

清理文件夹中的所有内容,再次执行,导入swt create proj,检查构建路径添加类,运行 这应该工作。 如果没有,右键单击,单击清理,单击源...组织导入,再次运行。应该工作,如果错误没有

  

swt.dll

在你的图书馆,复制所有

  

swt.dll

到您的图书馆路径。现在应该工作。

答案 2 :(得分:0)

我犯了同样的错误。我的问题是第二步:我选择导入“org.eclipse.swt”。相反,您必须为您的操作系统选择正确的一个。就我而言,这是“org.eclipse.swt.win32.win32.x86”。完成此操作后,本教程中的其余步骤应按预期工作。

上述答案虽然正确,但可能比本教程完成的大部分知识要多一些。