Java代码兼容性问题(我的二进制文件也不起作用)

时间:2012-08-16 10:22:11

标签: java swing sqlite miglayout

我在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 driver,如果这可能是相关的。

我真的很感谢帮助

1 个答案:

答案 0 :(得分:0)

我发现了问题。

cardLayoutPanel是一个JPanel cardLayout很明显 identifier是一个String

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

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

cardLayoutPanel.add(container, identifier);

没有第二行 Java 1.7不会因为某些原因而抱怨。怪异。