我正在使用 Eclipse 开发 SWT 应用程序。以下代码适用于 Windows,但不适用于 Macintosh:
import javax.swing.JFileChooser;
public class Test {
public static void main(String[] args) {
final JFileChooser fc = new JFileChooser();
int ret = fc.showOpenDialog(null);
System.out.println("ret = " + ret);
}
}
进入 后showOpenDialog
,Mac 光标永远旋转,我在 Java 控制台中得到以下信息:
2013-09-05 08:20:40.568 java[1271:707] [Java CocoaComponent compatibility mode]: Enabled
2013-09-05 08:20:40.569 java[1271:707] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
2013-09-05 08:20:41.227 java[1271:dd03] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x7fa211e82600> '(null)') unlocked when not locked
2013-09-05 08:20:41.227 java[1271:dd03] *** Break on _NSLockError() to debug.
我试过 Java 1.6、Java 1.7。我试过设置
-Dcom.apple.awt.CocoaComponent.CompatibilityMode=false -XstartOnFirstThread
,但没有效果。
这一定是非常基本的东西。我错过了什么?