jxbrowser - Incrustar Gecko/WebKit en Java
java jxbrowser (3)
Me gustaría tener Gecko, WebKit u otro navegador web incrustado en Java como control Swing / AWT. Estoy buscando algo diferente a JRex o JWebPane
.
JCEF
JCEF ( Java Wrapper para Chromium Embedded Framework) es un envoltorio de Java alrededor de CEF, que a su vez es un envoltorio alrededor de Chrome:
Ambos proyectos parecen bastante activos y la representación del navegador es mucho más rápida que WebView de JavaFX (al menos con JDK 8u20).
JFXPanel
También es posible usar JavaFX WebView en una aplicación Swing a través de 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://.com");
Scene scene = new Scene(webView);
setScene(scene);
}
}
Puede usar JxBrowser . Cuenta con un componente Swing / JavaFX que envuelve el motor Chromium la vez que proporciona una API rica y aceleración de hardware lista para usar a través de la GPU.
Desafortunadamente, han dejado de admitir otros motores (como Gecko y WebKit) desde la versión 4.0.
Tenga en cuenta que no es gratis, excepto para proyectos de código abierto.
Si SWT es una opción, puede usar el widget SWT Browser , este utilizará un navegador específico de la plataforma (por ejemplo, Mozilla, Webkit, IE) para mostrar realmente el contenido. Echa un vistazo a este artículo de Eclipse para obtener una descripción general.
Si no quiere usar SWT, entonces recomiendo JavaXPCOM . Esto le permite incrustar Gecko en una aplicación Java.