You could use JxBrowser. It features a Swing/JavaFX component that wraps the Chromium engine while providing a rich API and out-of-the-box hardware-acceleration through the GPU.
Unfortunately, they've dropped support for other engines (like Gecko and WebKit) since 4.0 version.
Note that it's not free, except for open-source projects.
If SWT is an option, you can use the SWT Browser widget, this will use a platform-specific browser (e.g. Mozilla, Webkit, IE) to actually display the content. Have a look at this Eclipse article for an overview.
If you don't want to use SWT, then I recommend JavaXPCOM. This allows you to embed Gecko in a Java application.
JCEF (Java Wrapper for the Chromium Embedded Framework) is a Java wrapper around CEF, which is in turn a wrapper around Chrome:
Both projects seem quite active and the browser rendering is much faster than JavaFX's WebView (at least with JDK 8u20).
It is also possible to use the JavaFX WebView in a Swing application via the 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);
    }
}
    
                If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With