Java代码兼容性问题(我的二进制文件也不工作)
我已经在Fedora17上使用EclipseJuno编写了一个Java应用程序。我已经安装了JRE 1.7,但我相信我已经将Java构建路径更改为1.6。那里一切都很好。然后,我可以构建一个.jar文件,该文件在Windows7虚拟机上运行,不会出现问题。但是,如果我尝试在学校计算机(Windows 7)上运行它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,混合模式,
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有关。你能提供更多的细节吗?