如何使SWT浏览器控件在Linux上使用Mozilla / Firefox而不是WebKit(Ubuntu 14)

时间:2015-06-29 08:51:18

标签: java linux swt ubuntu-14.04 xulrunner

每当我运行我的应用程序时,我想让SWT 4.4.2浏览器在Linux上使用Mozilla(Ubuntu 14.o4 LTS)SWT使用webkit。知道如何让SWT使用Mozilla吗?

作为一个例子,我使用以下SWT代码打开嵌入式浏览器。 Linux Ubuntu版本

public class DisplayMozillaVersion {
    public static void main(String[] args) {
        Device.DEBUG = true;
        Display display = new Display();
        Shell shell = new Shell(display);
        System.out.println(">>>Snippet creating SWT.MOZILLA-style Browser");
        try {
            new Browser(shell, SWT.MOZILLA);
            System.out.println(">>>succeeded");
        } catch (Error e) {
            System.out.println(">>>This failed with the following error:");
            e.printStackTrace();
            System.out.println("\n\nSnippet creating SWT.NONE-style Browser");
            try {
                new Browser(shell, SWT.NONE);
                System.out.println(">>>succeeded");
            } catch (Error e2) {
                System.out.println(">>>This failed too, with the following error:");
                e2.printStackTrace();
            }
        }
        display.dispose();
    }
}

以上代码对于Mozilla(SWT.MOZILLA)总是失败并且出现以下错误

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.(Unknown Source)
    at org.eclipse.swt.browser.Mozilla.create(Unknown Source)
    at org.eclipse.swt.browser.Browser.(Unknown Source)
    at swtbrowserapp.SWTBrowserApp.(SWTBrowserApp.java:72)
    at swtbrowserapp.SWTBrowserApp.main(SWTBrowserApp.java:38)

当我使用SWT.NONE时,它总是使用WebKit。在Ubuntu 14.04 LTS上运行Mozilla作为SWT浏览器的方法是什么?

1 个答案:

答案 0 :(得分:1)

Eclipse 4.4.2 Swt Browser与Xulrunner 10和24一起使用(xulrunner是mozilla firefox的底层渲染引擎)。您需要从xulrunner download

下载

默认情况下,Ubuntu 14.04上的Eclipse 4.4.2在gtk2中运行(这在4.5及更高版本中已更改)。所以那里不需要改变。

您可以在结尾处将以下开关添加到eclipse.ini

-Dorg.eclipse.swt.browser.DefaultType=mozilla
-Dorg.eclipse.swt.browser.XULRunnerPath=<path to xulrunner libs>

这应该将eclipse设置为使用xulrunner渲染引擎