JAR不适用于绝对布局

时间:2014-08-30 19:33:58

标签: java layout netbeans jar noclassdeffounderror

我使用NetBeans表单编辑器为我的程序开发了一个swing GUI。我使用了AbsoluteLayout,这样我就可以点击并拖动组件到我需要它们的地方去框架。问题是当我尝试运行我为程序创建的可执行JAR文件时,出现以下错误:

java.lang.NoClassDefFoundError:org / netbeans / lib / awtextra / AbsoluteLayout ...线程“main”中的例外

所有的GUI代码都是由NetBeans为我编写的,所以我不确定这里的问题是什么。

我真的很喜欢使用表单编辑器,因为当我尝试自己硬编码时,让GUI看起来像我想要的那样非常繁琐。该程序需要用于JavaWebStart,因此它必须位于可运行的可执行JAR文件中。

我非常感谢任何有关此主题的人的任何帮助/提示/信息。

非常感谢你的时间。

3 个答案:

答案 0 :(得分:5)

尝试将AbsoluteLayout jar文件添加为库,然后从该库中导入AbsoluteLayout。你可以从here获得jar。

答案 1 :(得分:2)

我已经解决了这个问题。

我没有意识到AbsoluteLayout类是NetBeans独有的 - 我想我认为它是一个内置的swing布局管理器。我将AbsolutLayout类添加到我的JAR中,一切都很好。

答案 2 :(得分:1)

我认为这是类路径的问题。

您的可执行JAR文件应包含清单文件(请参阅META-INF文件夹) 在此清单文件中,列出了所有需要的库(包括此库的路径!)

检查您的JAR清单文件并检查libs(在您的情况下为AbsoluteLayout.jar)是否真的在指定的位置。

例:
当你的JAR在文件夹中时: C:/Test/App.jar ,你的清单看起来像是 ...
Class-Path:libs / AbsoluteLayout.jar
...

然后此文件必须存在于此处: C:/Test/libs/AbsoluteLayout.jar

PS:使用多个罐子"不是" WebStart-Applications的一个问题! 在JNLP文件中,还必须指定AbsoluteLayout.JAR!