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

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


person Community    schedule 16.04.2010    source источник
comment
Очень жаль, что JwebPane не увидела свет. groups.google.com/group/javaposse/browse_thread/thread/ может быть интересно.   -  person JasonPlutext    schedule 15.11.2010


Ответы (3)


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

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

person Alexis Dufrenoy    schedule 13.11.2010
comment
Например, он используется в Selenium - person Alexis Dufrenoy; 14.11.2010
comment
Похоже, что весь бесплатный JXBrowser для информации с открытым исходным кодом был удален с их веб-сайта. Кто-нибудь знает, бесплатен ли он для открытого исходного кода? Как сказал @Supuhstar, это довольно дорогой продукт. Они могут взимать за это любую плату, но очень немногие проекты с открытым исходным кодом могут позволить себе заплатить 4600 долларов за лицензию на проект (а цена за разработчика в 1600 долларов не имеет никакого смысла для открытого исходного кода, к тому же это слишком дорого для открытого программного обеспечения). исходные проекты). К сожалению, это единственный компонент Java, который готов для серьезных браузерных приложений. - person Matt Eskridge; 24.08.2014
comment
JxBrowser абсолютно бесплатен для проектов с открытым исходным кодом и академических проектов. Вам просто нужно выбрать соответствующие параметры при запросе ознакомительной лицензии: teamdev.com/jxbrowser#evaluate - person Vladimir; 12.09.2016

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

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

person Grodriguez    schedule 13.11.2010

JCEF

JCEF (Java Wrapper для Chromium Embedded Framework) - это оболочка Java для CEF, которая, в свою очередь, является оболочкой для Chrome:

Оба проекта кажутся довольно активными, и рендеринг браузера выполняется намного быстрее, чем WebView JavaFX (по крайней мере, с 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);
    }
}
person Luke Quinane    schedule 25.09.2014