2012-10-17 39 views
4

我按照Eclipse编辑器中的教程进行操作(单击Help -> Welcome -> Tutorials)。无法在Eclipse中运行SWT应用程序

这小抄向您展示如何创建一个“Hello World”应用 使用的标准部件工具包(SWT):我经历了所有这一切均步骤的工作。应用程序将 只显示一个空的窗口给用户。如果您需要任何 步骤的帮助,请单击右侧的(?)。让我们开始吧!

如果您尚未处于Java透视图中,请在主菜单中选择 Window> Open Perspective> Java或单击下面的“Click to Perform” 链接。

从主菜单通过文件>导入...和 选择导入向导,选择插件开发>插件和片段。点击下一步。在 “导入插件和片段”页面上,选择导入: 活动目标平台。要导入的插件和片段:从 中选择在指定位置找到的所有插件和片段。导入为: 包含源文件夹的项目。点击下一步。在“选择”页面上,向插件和碎片添加 org.eclipse.swt。{platform}。{os}。{arch}(例如:用于win32的 org.eclipse.swt.win32.win32.x86) 导入:列表。点击完成。这将创建 org.eclipse.swt。{platform}。{os}。{arch}项目,我们需要 编译并运行该应用程序。

现在我们需要一个项目来存储我们自己的源代码。在主要的 工具栏中,点击New Java Project按钮,或点击下面的链接 。输入HelloWorldSWT作为项目名称,然后单击完成。

由于我们的项目需要SWT,因此我们需要在项目 属性中指定此项目。右键单击项目并选择属性。在 Java Build Path页面中,打开Projects选项卡,添加 org.eclipse.swt。{platform}。{os}。{arch}项目,然后单击OK。

下一步是创建一个新类。在主工具栏中,单击新建Java类按钮(或下面的链接) 。如果尚未指定 ,请选择HelloWorldSWT/src作为源文件夹。输入 HelloWorldSWT作为类名称,并选中复选框以创建 main()方法,然后单击Finish。 Java编辑器将自动打开 显示您的新课程。在主编辑器中输入以下Java代码() 方法:Display display = new Display();壳牌外壳=新型 外壳(显示屏); shell.setText(“Hello world!”); shell.open();而 (!shell.isDisposed()){if(!display.readAndDispatch()) display.sleep(); } display.dispose();你会得到编译错误。 在Java编辑器中右键单击,然后选择源>整理导入, 然后保存更改。

要运行您的应用程序,请在Package Explorer中右键单击您的类,然后选择运行方式> Java应用程序。一个新的空窗口 应该以标题“Hello world!”出现。恭喜!你有 成功创建了一个Hello World SWT应用程序!

这里是截图:

screenshot

但是,当我试图运行,而不是如预期显示黑屏程序,它在终端倾倒这样的:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
no swt-cocoa-4233 in java.library.path 
no swt-cocoa in java.library.path 
Can't load library: /Users/devenkelling/.swt/lib/macosx/x86_64/libswt-cocoa-4233.jnilib 
Can't load library: /Users/devenkelling/.swt/lib/macosx/x86_64/libswt-cocoa.jnilib 

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:331) 
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240) 
at org.eclipse.swt.internal.C.<clinit>(C.java:21) 
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:101) 
at HelloWorldSWT.main(HelloWorldSWT.java:11 

我在安装64位Eclipse并使用32位和64位版本的Java(我认为)时使用了x64系统。请帮忙。谢谢。

+0

我希望这有助于。它在一开始真的让我感到困惑。 –

+0

您是否按照教程中的建议将SWT项目导入工作区? –

+0

@RomanC是的,但它没有工作**:(**可能是由于32位和64位版本的Windows,Java和Eclipse之间的差异。 –

回答

10

来源:Eclipse Forums

这为我工作:

  • 右键单击你对自己的项目文件夹HelloWorldSWT;

  • 前往Properties→左边栏Java Build Path→Tab Projects;

  • 点击左侧的箭头展开org.eclipse.swt.cocoa.macosx.x86_64文件夹;

  • 选择Native library location并点击Edit;

  • 单击Workspace按钮并选择org.eclipse.swt.cocoa.macosx.x86_64;

  • 点击OK几次;

你完成了!希望这有助于。

相关问题