2014-08-30 81 views
1

我爲使用NetBeans表單編輯器的程序開發了一個擺動GUI。我使用了AbsoluteLayout,以便我可以單擊並拖動組件到任何需要它們去框架的地方。問題是,當我嘗試運行我爲程序製作的可執行JAR文件時,出現以下錯誤:JAR不適用於絕對佈局

java.lang.NoClassDefFoundError:org/netbeans/lib/awtextra/AbsoluteLayout ...異常在線程「main」中

所有的GUI代碼都是由NetBeans爲我編寫的,所以我不確定這裏存在什麼問題。

我真的很喜歡使用表單編輯器,因爲讓GUI看起來像我希望他們在我自己嘗試對其進行硬編碼時非常乏味。該程序需要用於JavaWebStart,因此它必須位於可執行的可執行JAR文件中。

我非常感謝任何關於此主題的幫助/提示/信息。

非常感謝您的時間。

回答

4

嘗試添加AbsoluteLayout jar文件作爲庫並從該庫中導入AbsoluteLayout。你可以從here得到罐子。

+0

我已經設置了庫並使用import語句import org.netbeans.lib.awtextra.AbsoluteLayout;在所有的班級,但我仍然有問題。另外,當我創建JAR文件時,另一個JAR文件由NetBeans(AbsolutLayout.jar)在「lib」文件夾中創建。我做錯了什麼? – Yulz 2014-08-30 19:50:20

1

它是一個類路徑的問題,我假設。

您的可執行文件JAR文件應該包含一個清單文件(參見META-INF文件夾)。
在這個清單文件,所有需要的庫列(包括路徑該庫!)

檢查您的JAR文件清單文件,並檢查庫(在你的情況AbsoluteLayout.jar)是真正
的地方指定。

例:
當你的JAR是在文件夾:C:/Test/App.jar和你的清單看起來像
...
類路徑:庫/ AbsoluteLayout.jar
。 ..

那麼這個文件必須在這裏存在:C:/Test/libs/AbsoluteLayout.jar! PS:使用多個Jars對WebStart應用程序來說不是問題! 在JNLP文件中,還必須指定AbsoluteLayout.JAR!

2

我已經解決了這個問題。

我沒有意識到AbsoluteLayout類是NetBeans獨佔的東西 - 我想我認爲它是一個內置的擺動佈局管理器。我將AbsolutLayout類添加到我的JAR中,並且一切正常。