Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java代码兼容性问题(我的二进制文件也不工作)_Java_Swing_Sqlite_Miglayout - Fatal编程技术网

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

Java代码兼容性问题(我的二进制文件也不工作),java,swing,sqlite,miglayout,Java,Swing,Sqlite,Miglayout,我已经在Fedora17上使用EclipseJuno编写了一个Java应用程序。我已经安装了JRE 1.7,但我相信我已经将Java构建路径更改为1.6。那里一切都很好。然后,我可以构建一个.jar文件,该文件在Windows7虚拟机上运行,不会出现问题。但是,如果我尝试在学校计算机(Windows 7)上运行它 java版本“1.6.0_18” Java(TM)SE运行时环境(build 1.6.0_18-b07) Java HotSpot(TM)客户端虚拟机(构建16.0-b13,混合模式,

我已经在Fedora17上使用EclipseJuno编写了一个Java应用程序。我已经安装了JRE 1.7,但我相信我已经将Java构建路径更改为1.6。那里一切都很好。然后,我可以构建一个.jar文件,该文件在Windows7虚拟机上运行,不会出现问题。但是,如果我尝试在学校计算机(Windows 7)上运行它
java版本“1.6.0_18”
Java(TM)SE运行时环境(build 1.6.0_18-b07)
Java HotSpot(TM)客户端虚拟机(构建16.0-b13,混合模式,共享)

它给出了一个异常,如:
java.lang.IllegalArgumentException:无法添加到布局:约束必须是字符串
。这显然与CardLayout有关,我相信这是一个标准的Swing组件

我正在使用图书馆,如果可能的话

如果您能帮我解决这个问题,我将不胜感激

cardLayoutPanel是一个JPanel 卡片布局是显而易见的 标识符是一个字符串

cardLayoutPanel.add(container);
cardLayout.addLayoutComponent(container, identifier);
事实证明,在Java 1.6中,这实际上不起作用,因为它实际上应该是:

cardLayoutPanel.add(container, identifier);
没有第二行 Java1.7不会因为某些原因而抱怨。奇怪。

我发现了这个问题

cardLayoutPanel是一个JPanel 卡片布局是显而易见的 标识符是一个字符串

cardLayoutPanel.add(container);
cardLayout.addLayoutComponent(container, identifier);
事实证明,在Java 1.6中,这实际上不起作用,因为它实际上应该是:

cardLayoutPanel.add(container, identifier);
没有第二行
Java1.7不会因为某些原因而抱怨。奇怪。

试着用JDK 6编译。@Thilo不是用JDK 6,而是用编译器的
--target
-标志。不,试着用JDK 6编译--目标——源代码不足(它们只指定字节码和源代码级别),还需要适当的运行时库(以检查当时存在的API)。很难弄对。用JDK 6编译是最安全的。有没有办法用eclipse来做到这一点,因为它处理编译器您使用的是MigLayout,但您说它与CardLayout有关。您能提供更多详细信息吗?请尝试使用JDK 6进行编译。@Thilo不是使用JDK 6,而是使用编译器的
--target
-标志。不,请尝试使用JDK 6进行编译--目标——源代码不足(它们只指定字节码和源代码级别),还需要适当的运行时库(以检查当时存在的API)。很难弄对。用JDK 6编译是最安全的。有没有办法用eclipse来做到这一点,因为它处理编译器您使用的是MigLayout,但您说它与CardLayout有关。你能提供更多的细节吗?