在 SWT 中使用 Fuzio
本页面介绍如何配置 Maven 项目,以便在 SWT GUI 工具包中使用 Fuzio。
前提条件
- Git。
- Java 17 或更高版本。
- Fuzio 许可证密钥,或免费试用密钥。
获取项目
本指南中描述的示例项目可在 Gitee 独立仓库中找到。
项目概述
本节说明 Maven 项目如何配置以包含 Fuzio,以及如何将 Fuzio 的 BrowserView 组件嵌入到 SWT shell 中,以显示已加载网页的内容。
配置 Maven 项目
该 Maven 项目已配置为使用 Fuzio Maven 仓库来获取所需的 Fuzio 依赖项,并获取所有平台的 Chromium 二进制文件。
以下是 pom.xml 文件的配置方式:
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>swt</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<!-- 使用最新稳定版本的 Fuzio。-->
<fuzio.version>2026.1.0</fuzio.version>
<swt.version>3.124.0</swt.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<!-- 定义 Java 应用程序的主类。-->
<exec.mainClass>SwtApp</exec.mainClass>
</properties>
<repositories>
<repository>
<id>maven-eclipse-repo</id>
<url>https://repo1.maven.org/maven2/</url>
</repository>
<!-- 配置 Fuzio 的 Maven 仓库。-->
<repository>
<id>tech.fuzio</id>
<url>https://jiku.mycloudrepo.io/public/repositories/releases</url>
</repository>
</repositories>
<dependencies>
<!-- 获取所有平台的 Chromium 二进制文件。-->
<dependency>
<groupId>tech.fuzio</groupId>
<artifactId>fuzio-cross-platform</artifactId>
<version>${fuzio.version}</version>
<type>pom</type>
</dependency>
<!-- 添加 SWT UI 工具包集成依赖。-->
<dependency>
<groupId>tech.fuzio</groupId>
<artifactId>fuzio-swt</artifactId>
<version>${fuzio.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>${swt.artifactId}</artifactId>
<version>${swt.version}</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>linux</id>
<activation>
<os>
<name>Linux</name>
<arch>amd64</arch>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.platform</swt.groupId>
<swt.artifactId>org.eclipse.swt.gtk.linux.x86_64</swt.artifactId>
</properties>
</profile>
<profile>
<id>linuxArm64</id>
<activation>
<os>
<name>Linux</name>
<arch>arm64</arch>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.platform</swt.groupId>
<swt.artifactId>org.eclipse.swt.gtk.linux.aarch64</swt.artifactId>
</properties>
</profile>
<profile>
<id>linuxAarch64</id>
<activation>
<os>
<name>Linux</name>
<arch>aarch64</arch>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.platform</swt.groupId>
<swt.artifactId>org.eclipse.swt.gtk.linux.aarch64</swt.artifactId>
</properties>
</profile>
<profile>
<id>windows</id>
<activation>
<os>
<family>Windows 10</family>
<arch>amd64</arch>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.platform</swt.groupId>
<swt.artifactId>org.eclipse.swt.win32.win32.x86_64</swt.artifactId>
</properties>
</profile>
<profile>
<id>macosx</id>
<activation>
<os>
<name>Mac OS X</name>
<arch>x86_64</arch>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.platform</swt.groupId>
<swt.artifactId>org.eclipse.swt.cocoa.macosx.x86_64</swt.artifactId>
</properties>
</profile>
<profile>
<id>macosx</id>
<activation>
<os>
<name>Mac OS X</name>
<arch>aarch64</arch>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.platform</swt.groupId>
<swt.artifactId>org.eclipse.swt.cocoa.macosx.aarch64</swt.artifactId>
</properties>
</profile>
</profiles>
</project>
</project>
将 Fuzio 嵌入至 SWT
在 SWT 应用程序源码中,你可以看到如何:
- 初始化 Engine(Chromium)实例。
- 创建 Browser 实例。
- 加载所需网页。
- 将
BrowserView组件嵌入到 SWT shell 中,以显示已加载的网页。
Java
import static tech.fuzio.engine.RenderingMode.HARDWARE_ACCELERATED;
import tech.fuzio.engine.Engine;
import tech.fuzio.view.swt.BrowserView;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public final class SwtApp {
public static void main(String[] args) {
// 初始化 Chromium。
var engine = Engine.newInstance(HARDWARE_ACCELERATED);
// 创建 Browser 实例。
var browser = engine.newBrowser();
// 加载所需网页。
browser.navigation().loadUrl("https://html5test.jiku.co");
var display = new Display();
var shell = new Shell(display);
shell.setText("Fuzio SWT");
shell.setLayout(new FillLayout());
// 创建并嵌入 SWT BrowserView 组件以显示网页内容。
var view = BrowserView.newInstance(shell, browser);
view.setSize(1280, 800);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
// 关闭 Chromium 并释放已分配的资源。
engine.close();
display.dispose();
}
}
运行 SWT 应用程序
使用以下命令构建并运行 SWT 应用程序:
mvn clean compile exec:java -Dfuzio.license.key=<your_license_key>
启动后,你将看到一个包含 BrowserView 组件的 SWT 应用程序,该组件会显示 https://html5test.jiku.co:

下一步
- 了解如何将 Fuzio 添加至 Maven 项目。
- 阅读关于如何在将 Fuzio 嵌入 SWT 应用。
- 查阅我们的指南,探索 Fuzio 的全部功能。

