我按照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應用程序!
這裏是截圖:
但是,當我試圖運行,而不是如預期顯示黑屏程序,它在終端傾倒這樣的:
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系統。請幫忙。謝謝。
我希望這有助於。它在一開始真的讓我感到困惑。 –
您是否按照教程中的建議將SWT項目導入工作區? –
@RomanC是的,但它沒有工作**:(**可能是由於32位和64位版本的Windows,Java和Eclipse之間的差異。 –