我使用Eclipse開發SWT應用程序。下面的代碼在Windows上運行,但不能在Macintosh上:爲什麼JfileChooser.showOpenDialog在Mac OSX上掛起?
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
但這沒有效果。
這必須是一些非常基本的東西。我錯過了什麼?
什麼版本的SWT? –