Fuzio in JavaFX

This page describes how to configure a Maven project to use Fuzio with the JavaFX GUI toolkit.

Prerequisites 

Getting the project 

The sample project described below in this guide can be found as the standalone repository on Gitee.

Project overview 

This section explains how the Maven project is configured to include Fuzio and how a Fuzio BrowserView component is embedded into a JavaFX scene to display content of the loaded web page.

Configuring the Maven project 

The Maven project is configured to use the Fuzio Maven repository to fetch the necessary Fuzio dependencies, fetch the Chromium binaries for all platforms, and add the JavaFX UI toolkit integration.

Here’s how the pom.xml file is configured:

XML
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>tech.fuzio.quickstart.maven</groupId>
    <artifactId>javafx</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <!-- Use the latest stable Fuzio version. -->
        <fuzio.version>2026.1.0</fuzio.version>

        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>

        <!-- Define the main class for the Java application. -->
        <exec.mainClass>JavaFxApp</exec.mainClass>
    </properties>

    <repositories>
        <!-- Configures the Maven repository for Fuzio. -->
        <repository>
            <id>tech.fuzio</id>
            <url>https://jiku.mycloudrepo.io/public/repositories/releases</url>
        </repository>
    </repositories>

    <dependencies>
        <!-- Fetches Chromium binaries for all platforms. -->
        <dependency>
            <groupId>tech.fuzio</groupId>
            <artifactId>fuzio-cross-platform</artifactId>
            <version>${fuzio.version}</version>
            <type>pom</type>
        </dependency>

        <!-- Adds dependency to the JavaFX UI toolkit integration. -->
        <dependency>
            <groupId>tech.fuzio</groupId>
            <artifactId>fuzio-javafx</artifactId>
            <version>${fuzio.version}</version>
        </dependency>
        <!-- Allows JavaFX integration. -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>21.0.5</version>
        </dependency>
    </dependencies>

</project>

Embedding Fuzio into JavaFX 

In the JavaFX application source code you can see how to:

  1. Initialize an engine (Chromium) instance.
  2. Create a browser instance.
  3. Load the required web page.
  4. Embed a BrowserView component into a JavaFX scene to display the loaded web page.
Java
import static tech.fuzio.engine.RenderingMode.HARDWARE_ACCELERATED;

import tech.fuzio.engine.Engine;
import tech.fuzio.view.javafx.BrowserView;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public final class JavaFxApp extends Application {

    public static void main(String[] args) {
        launch(args); // Start the JavaFX application.
    }

    @Override
    public void start(Stage primaryStage) {
        // Initialize Chromium.
        var engine = Engine.newInstance(HARDWARE_ACCELERATED);

        // Create a Browser instance and load the required web page.
        var browser = engine.newBrowser();
        browser.navigation().loadUrl("https://html5test.jiku.co");

        // Create and embed JavaFX BrowserView component to display web content.
        var view = BrowserView.newInstance(browser);
        
        var scene = new Scene(new BorderPane(view), 1280, 800);
        primaryStage.setTitle("Fuzio JavaFX");
        primaryStage.setScene(scene);
        primaryStage.show();

        // Shutdown Chromium and release allocated resources.
        primaryStage.setOnCloseRequest(event -> engine.close());
    }
}

Run the JavaFX application 

Use the following command to build and run JavaFX application:

mvn clean compile exec:java -Dfuzio.license.key=<your_license_key>

Once launched, you will see a JavaFX application with a BrowserView component displaying https://html5test.jiku.co:

BrowserView in JavaFX app

What’s next 

Customer Support

QR code to follow us on WeChat

Technical Support

QR code to follow us on WeChat