Подтвердить что ты не робот

Встраивание Gecko/WebKit в Java

Я хотел бы иметь Gecko, WebKit или другой веб-браузер, встроенный в Java в качестве элемента управления Swing/AWT. Я ищу что-то другое, чем JRex или JWebPane.

4b9b3361

Ответ 1

Вы можете использовать JxBrowser. Он оснащен компонентом Swing/JavaFX, который обертывает механизм Chromium, предоставляя богатый API и готовое аппаратное ускорение через графический процессор.

К сожалению, они отказались от поддержки других движков (таких как Gecko и WebKit) с версии 4.0.
Обратите внимание, что это не бесплатно, за исключением проектов с открытым исходным кодом.

Ответ 2

Если SWT является опцией, вы можете использовать виджет обозревателя SWT, это будет использовать браузер для конкретной платформы (например, Mozilla, Webkit, IE) для фактического отображения содержимого. Посмотрите эту статью Eclipse для обзора.

Если вы не хотите использовать SWT, я рекомендую JavaXPCOM. Это позволяет встраивать Gecko в Java-приложение.

Ответ 3

JCEF

JCEF ( Java Wrapper для встроенной архитектуры Chromium) - это оболочка Java вокруг CEF, которая, в свою очередь, является оберткой вокруг Chrome:

Оба проекта кажутся довольно активными, а рендеринг браузера намного быстрее, чем JavaFX WebView (по крайней мере, с JDK 8u20).

JFXPanel

Также можно использовать JavaFX WebView в приложении Swing через JFXPanel.

public class JavaFxWebBrowser extends JFXPanel {
    private WebView webView;
    private WebEngine webEngine;

    public JavaFxWebBrowser() {
        Platform.runLater(() -> {
            initialiseJavaFXScene();
        });
    }

    private void initialiseJavaFXScene() {
        webView = new WebView();
        webEngine = webView.getEngine();
        webEngine.load("http://stackoverflow.com");

        Scene scene = new Scene(webView);
        setScene(scene);
    }
}