我们刚刚更新到Mac OSX 10.5.7,现在无论何时我调出任何基于SwingUI的对话框,我们的应用程序都会崩溃。从字面上看,一切都运行正常我只是在项目上取得了一些进展并决定休息并安装更新,我回来启动应用程序并发现任何时候基于swingUI的元素出现,应用程序崩溃。这似乎是我的问题的合理原因还是只是一些疯狂的巧合?
答案 0 :(得分:1)
您是否尝试在Mac上更新VM?最近发布了一个新的更新:
Java for Mac OS X 10.5 Update 4在Mac OS X 10.5.7及更高版本上为Java SE 6,J2SE 5.0和J2SE 1.4.2提供了更高的可靠性,安全性和兼容性。此版本将Java SE 6更新为版本1.6.0_13,将J2SE 5.0更新为版本1.5.0_19,将J2SE 1.4.2更新为1.4.2_21。
答案 1 :(得分:1)
也许你需要一个与10.5.7链接的新版本的ququa JNI库?
答案 2 :(得分:0)
您应该检查堆栈跟踪以获取提示。我希望你使用像eclipse或xcode这样的IDE。你可以发布堆栈跟踪。我认为这更有帮助。
答案 3 :(得分:0)
我有几个Swing UI应用,它们不会在10.5.7
下崩溃。您使用的Java版本是什么?我使用1.6.0_13
进行了测试,这是最新版本。我编译了这个程序,运行得很好:
import javax.swing.*;
public class SwingTest {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "x", "z", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
答案 4 :(得分:0)
这完全有可能。如果更新了Java版本(我认为是这样,虽然我的10.5.7刚刚要求我更新JVM,几周后我更新了操作系统)... Java更新传统上破坏了一些Swing应用程序。
如果您执行了java -version,并且您的版本是其中任何一个
1.6.0_13
1.5.0_19
1.4.2_21
您可以确定它附带了10.5.7更新,因为这些只是10.5.7及更高版本。
从命令行运行java命令(查看堆栈跟踪),这无疑会揭示问题。如果您是开发人员,应该很容易弄清楚您对Swing如何工作的假设是错误的。
另一方面,让我们保持科学:这可能是巧合:)
答案 5 :(得分:0)
编辑:关于Apple的java-dev列表的更冗长的讨论:http://lists.apple.com/archives/java-dev/2009/Jun/msg00306.html