[英]SWT FileDialog does not work correctly on Mac OSX with Oracle Java 7
在Mac OSX 64位上,使用Oracle Java 7,文件选择器对话框似乎无法正常使用SWT:
FileDialog dlg = new FileDialog(shell, SWT.OPEN);
dlg.open();
一个主要问题是文件预览(选择文件时出现的最右侧窗格)不起作用:微调器不会停止,CPU使用率会增加。 随机地,另一个问题是文件夹内容显示为空。
使用官方Apple Java 6软件包,一切正常。 我尝试了几个版本的SWT(4.2.1,4.2.2,4.3,beta 4.4版本)。
有人知道解决方法吗? 这可以在SWT级别修复,还是Java 7问题?
看来问题的核心是-XstartOnFirstThread Java标志。 一个黑客就是避免使用这个标志,并自己实现相关的行为(即,在第一个线程上启动SWT)。
幸运的是,一个非常有用的Eclipse贡献者--Silenio Quarti - 已经这样做了,请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=389486#c5 。 警告:要集成到非Mac IDE中,需要重构此源,并且必须通过反射完成对org.eclipse.swt.internal。**的所有引用。
在Oracle和/或Apple修复SDK版本7之前,这是迄今为止我发现的最好和唯一的解决方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.