Intégration de Gecko / WebKit en Java
j'aimerais avoir Gecko, WebKit, ou un autre webbrowser intégré en Java comme contrôle Swing/AWT.
Je cherche autre chose que JRex ou JWebPane
.
3 réponses
vous pouvez utiliser JxBrowser . Il dispose d'un composant Swing/JavaFX qui enveloppe le moteur Chromium tout en fournissant une API riche et hardware-of-the-box-accélération à travers le GPU.
malheureusement, ils ont abandonné le support pour d'autres moteurs (comme Gecko et WebKit) depuis la version 4.0.
Notez que ce n'est pas gratuit, sauf pour les projets open-source.
si SWT est une option, vous pouvez utiliser le widget de navigateur de SWT , cela utilisera un navigateur spécifique à la plate-forme (par exemple Mozilla, Webkit, IE) pour réellement afficher le contenu. Jetez un oeil à cet article D'éclipse pour un aperçu.
si vous ne voulez pas utiliser SWT, alors je recommande JavaXPCOM . Cela vous permet d'intégrer Gecko dans une application Java.
JCEF
Jcef ( Java Wrapper for the Chromium Embedded Framework) est un wrapper Java autour de CEF, qui est à son tour un wrapper autour de Chrome:
les deux projets semblent très actifs et le le rendu du navigateur est beaucoup plus rapide que le WebView de JavaFX (du moins avec JDK 8u20).
JFXPanel
il est également possible d'utiliser le JavaFX WebView dans une application Swing via le 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);
}
}