Vla*_*mir 3 java eclipse ubuntu swt xulrunner
XULRunner有什么问题所以,我有下一个环境:
所以,
public class Main {
public static void main(String[] args) {
System.setProperty("org.eclipse.swt.browser.DefaultType", "mozilla");
System.setProperty("org.eclipse.swt.browser.XULRunnerPath", "/opt/xulrunner/xulrunner");
Display display = new Display();
final Shell shell = new Shell(display);
Browser webBrowser = new Browser(shell, SWT.MOZILLA);
GridData grid = new GridData(GridData.FILL_BOTH);
webBrowser.setLayoutData(grid);
String graphUrl = "http://google.com";
webBrowser.setUrl(graphUrl);
}
}
Run Code Online (Sandbox Code Playgroud)
但在Eclipse中我看到:
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Browser style SWT.MOZILLA and Java system property org.eclipse.swt.browser.DefaultType=mozilla are not supported with GTK 3 as XULRunner is not ported for GTK 3 yet]
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.browser.MozillaDelegate.<init>(Unknown Source)
at org.eclipse.swt.browser.Mozilla.create(Unknown Source)
at org.eclipse.swt.browser.Browser.<init>(Unknown Source)
at Main.main(Main.java:31)
没有帮助:
XULRunner还没有移植到GTK3,所以你必须通过编辑eclipse.ini来让它在GTK2模式下运行,你可以在eclipse安装目录中找到它.
请检查您是否的eclipse.ini包含开头的行--launcher
,例如
--launcher.appendVmargs
Run Code Online (Sandbox Code Playgroud)
在那之前加上以下两行:
--launcher.GTK_version
2
Run Code Online (Sandbox Code Playgroud)
是的,他们需要分开.
如果您没有找到以该行开头的行--launcher.
,请找到一条只--vm
说明的行并将这两行放在它前面的行上,如果找不到--vm
行,请将其放在行之前--vmargs
.
然后,您应该得到一个看起来像这样的文件.请注意,这只是一个例子:
--launcher.GTK_version
2
--launcher.appendVmargs
Run Code Online (Sandbox Code Playgroud)
要么
--launcher.GTK_version
2
--vm (or --vmargs)
Run Code Online (Sandbox Code Playgroud)