2

我在 Fedora 17 上使用 Eclipse Juno 编写了一个 Java 应用程序。我安装了 JRE 1.7,但我相信我将 Java 构建路径更改为 1.6。那里一切正常。然后,我可以构建一个在 Windows 7 虚拟机上运行而没有问题的 .jar 文件。但是,如果我尝试在学校计算机上运行它(Windows 7 java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)

它给出了一个例外,如:java.lang.IllegalArgumentException: cannot add to layout: constraint must be a string。这显然与 CardLayout 有关,我相信它是一个标准的 Swing 组件。

如果可能相关,我正在使用miglayout库和sqlite-jdbc 驱动程序。

我真的很感激这方面的帮助

4

1 回答 1

0

我发现了问题。

cardLayoutPanel 是一个 JPanel cardLayout 是明显的标识符是一个字符串

cardLayoutPanel.add(container);
cardLayout.addLayoutComponent(container, identifier);

事实证明,在 Java 1.6 中这并没有真正起作用,因为它实际上应该是:

cardLayoutPanel.add(container, identifier);

没有第二行,Java 1.7 不会因为某种原因而抱怨。奇怪的。

于 2012-08-21T10:20:37.433 回答