4

我正在学习 Eclipse 编辑器中的教程(单击Help -> Welcome -> Tutorials)。我完成了以下所有步骤:

这份备忘单向您展示了如何创建一个使用标准小部件工具包 (SWT) 的“Hello World”应用程序。该应用程序将简单地向用户显示一个空窗口。如果您在任何步骤需要帮助,请单击右侧的 (?)。让我们开始吧!

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

通过 File > Import... 从主菜单打开 Import 向导,然后选择 Plug-in Development > Plug-ins and Fragments。点击下一步。在 Import Plug-ins and Fragments 页面上,选择 Import from: The active target platform。要导入的插件和片段:从在指定位置找到的所有插件和片段中进行选择。导入为:带有源文件夹的项目。点击下一步。在 Selection 页面上,将 org.eclipse.swt.{platform}.{os}.{arch}(例如:org.eclipse.swt.win32.win32.x86 for win32)添加到 Plug-ins and Fragments to Import:列表。单击完成。这将创建 org.eclipse.swt.{platform}.{os}.{arch} 项目,我们将需要它来编译和运行应用程序。

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

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

下一步是创建一个新类。在主工具栏中,单击 New Java Class 按钮(或下面的链接)。如果尚未指定,请选择 HelloWorldSWT/src 作为源文件夹。输入 HelloWorldSWT 作为类名并选中复选框以创建 main() 方法,然后单击 Finish。Java 编辑器将自动打开并显示您的新类。

在 Java 编辑器中,在 main() 方法中输入以下 Java 代码: Display display = new Display(); 壳壳 = 新壳(显示);shell.setText("你好世界!"); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); 你会得到编译错误。右键单击 Java 编辑器并选择 Source > Organize Imports,然后保存您的更改。

要运行您的应用程序,请在 Package Explorer 中右键单击您的类并选择 Run As > Java Application。应出现一个新的空窗口,标题为“Hello world!”。恭喜!您已成功创建 Hello World SWT 应用程序!

这是一个屏幕截图:

截屏

但是当我尝试运行程序时,它没有按预期显示空白屏幕,而是将其转储到终端中:

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 系统。请帮忙。谢谢。

4

1 回答 1

10

资料来源: Eclipse 论坛

这对我有用:

  • Right-click在您的项目文件夹中HelloWorldSWT

  • 转到Properties-> 左侧边栏Java Build Path-> 选项卡Projects

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

  • 选择Native library location并单击Edit

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

  • 点击OK几次;

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

于 2012-10-17T18:13:42.957 回答