最近,我编写了一个非常基本的 Java Swing 程序,其中包含几个文本字段和按钮。该程序在带有 Java 1.5 的 Ubuntu 上运行良好。但是当我尝试在 OSX (10.4) 上运行它时,主窗口显示正确,但程序似乎没有响应。无论我点击哪个按钮,似乎都没有发生任何事情。
我对 Mac OSX 几乎一无所知,所以我可能做错了什么吗?
会不会是您在 Event-Dispatch Thread 之外执行某些操作?例如,您可能JTextArea
在main
线程中创建、显示然后修改 a。
通常 Java 程序在 OS X 中运行良好 - 例如,Sound Bridge Commander是一个在 Mac 和 Linux 上运行良好的 java 应用程序。不过,我肯定会确保 Mac 盒子是最新的。您提到它正在运行 Tiger,这意味着它已经有好几年了,它拥有的 JVM 可能与您编译的那个不兼容。
您可能在类路径上有 SWT。这听起来类似于我遇到的问题。如果我没记错的话,mac SWT jar 使用某些启动挂钩来自动启动。然后 SWT 会干扰 Swing。
这可能是您的某些代码是为 Java 5 而不是 Java 1.4 编译的,所以每当您尝试调用它时,JVM 就会抛出一个异常,您只是看不到?
你有没有机会把代码放到网上某个地方让我们试试?我实际上也在使用 10.4,所以这不是问题。