文档
开始使用 JxBrowser
本指南展示了如何在 Gradle 或 Maven 项目中快速开始使用 JxBrowser。
前提条件
请确保您的系统满足软件和硬件要求。
选择您的项目构建工具
请将 JxBrowser Gradle 插件添加到您的构建脚本文件 build.gradle(.kts)
中,并配置 JxBrowser 依赖项,如下所示:
plugins {
id 'com.teamdev.jxbrowser' version '1.2.1'
}
jxbrowser {
version '8.2.1'
}
dependencies {
implementation jxbrowser.crossPlatform
}
plugins {
id("com.teamdev.jxbrowser") version "1.2.1"
}
jxbrowser {
version = "8.2.1"
}
dependencies {
implementation(jxbrowser.crossPlatform)
}
请将 JxBrowser 添加到您的 pom.xml
中,如下所示:
<repositories>
<repository>
<id>com.teamdev</id>
<url>https://europe-maven.pkg.dev/jxbrowser/releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-cross-platform</artifactId>
<version>8.2.1</version>
<type>pom</type>
</dependency>
</dependencies>
选择您正在或将要使用的软件
以下简单示例展示了如何加载一个网页,等待其完全加载完成后,打印其 HTML 内容:
// 初始化 Chromium。
EngineOptions options = EngineOptions.newBuilder(HARDWARE_ACCELERATED)
.licenseKey("您的许可证密钥")
.build();
Engine engine = Engine.newInstance(options);
// 创建一个 Browser 实例。
Browser browser = engine.newBrowser();
// 加载一个网页并等待其完全加载。
browser.navigation().loadUrlAndWait("https://html5test.teamdev.com/");
// 打印已加载网页的 HTML 内容。
browser.mainFrame().ifPresent(frame -> System.out.println(frame.html()));
// 关闭 Chromium 并释放分配的资源。
engine.close();
// 初始化 Chromium。
val options = EngineOptions.newBuilder(HARDWARE_ACCELERATED)
.licenseKey("您的许可证密钥")
.build()
val engine = Engine.newInstance(options)
// 创建一个 Browser 实例。
val browser = engine.newBrowser()
// 加载一个网页并等待其完全加载。
browser.navigation().loadUrlAndWait("https://html5test.teamdev.com/")
// 打印已加载网页的 HTML 内容。
browser.mainFrame().ifPresent { frame -> println(frame.html()) }
// 关闭 Chromium 并释放分配的资源。
engine.close()
在 GitHub 上查看完整示例。
选择您的 Java UI 工具包
请将 JxBrowser Swing 库添加到您的 build.gradle
中:
dependencies {
implementation jxbrowser.swing
}
dependencies {
implementation(jxbrowser.swing)
}
请将 JxBrowser Swing 库添加到您的 pom.xml
中:
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-swing</artifactId>
<version>8.2.1</version>
</dependency>
现在您可以将 JxBrowser Swing 小部件嵌入到您的 Java Swing 应用程序中,如下所示:
// 初始化 Chromium。
EngineOptions options = EngineOptions.newBuilder(HARDWARE_ACCELERATED)
.licenseKey("您的许可证密钥")
.build();
Engine engine = Engine.newInstance(options);
// 创建一个 Browser 实例。
Browser browser = engine.newBrowser();
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("JxBrowser AWT/Swing");
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// 关闭 Chromium 并释放分配的资源。
engine.close();
}
});
// 创建并嵌入 Swing 的 BrowserView 组件以显示网页内容。
frame.add(BrowserView.newInstance(browser));
frame.setSize(1280, 800);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
// 加载所需网页。
browser.navigation().loadUrl("https://html5test.teamdev.com/");
});
// 初始化 Chromium。
val options = EngineOptions.newBuilder(RenderingMode.HARDWARE_ACCELERATED)
.licenseKey("您的许可证密钥")
.build()
val engine = Engine.newInstance(options)
// 创建一个 Browser 实例。
val browser = engine.newBrowser()
SwingUtilities.invokeLater {
val frame = JFrame("JxBrowser AWT/Swing")
frame.addWindowListener(object: WindowAdapter() {
override fun windowClosing(e: WindowEvent) {
// 关闭 Chromium 并释放分配的资源。
engine.close()
}
})
// 创建并嵌入 Swing 的 BrowserView 组件以显示网页内容。
frame.add(BrowserView.newInstance(browser))
frame.setSize(1280, 800)
frame.setLocationRelativeTo(null)
frame.isVisible = true
// 加载所需网页。
browser.navigation().loadUrl("https://html5test.teamdev.com/")
}
您应该会看到以下输出:
您可以随时从 GitHub 下载和使用已配置好的带有 Swing GUI 的项目。
请将 JxBrowser JavaFX 库添加到您的 build.gradle
中:
dependencies {
implementation jxbrowser.javafx
}
dependencies {
implementation(jxbrowser.javafx)
}
请将 JxBrowser JavaFX 库添加到您的 pom.xml
中:
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-javafx</artifactId>
<version>8.2.1</version>
</dependency>
现在您可以将 JxBrowser JavaFX 控件嵌入到您的 JavaFX 应用程序中,如下所示:
// 初始化 Chromium。
EngineOptions options = EngineOptions.newBuilder(HARDWARE_ACCELERATED)
.licenseKey("您的许可证密钥y")
.build();
Engine engine = Engine.newInstance(options);
// 创建一个 Browser 实例。
Browser browser = engine.newBrowser();
// 加载所需网页。
browser.navigation().loadUrl("https://html5test.teamdev.com");
// 创建并嵌入 JavaFX 的 BrowserView 组件以显示网页内容。
BrowserView view = BrowserView.newInstance(browser);
Scene scene = new Scene(new BorderPane(view), 1280, 800);
primaryStage.setTitle("JxBrowser JavaFX");
primaryStage.setScene(scene);
primaryStage.show();
// 关闭 Chromium 并释放分配的资源。
primaryStage.setOnCloseRequest(event -> engine.close());
// 初始化 Chromium。
val options = EngineOptions.newBuilder(HARDWARE_ACCELERATED)
.licenseKey("您的许可证密钥")
.build()
val engine = Engine.newInstance(options)
// 创建一个 Browser 实例。
val browser = engine.newBrowser()
// 加载所需网页。
browser.navigation().loadUrl("https://html5test.teamdev.com")
// 创建并嵌入 JavaFX 的 BrowserView 组件以显示网页内容。
val view = BrowserView.newInstance(browser)
val scene = Scene(BorderPane(view), 1280.0, 800.0)
primaryStage.setTitle("JxBrowser JavaFX")
primaryStage.setScene(scene)
primaryStage.show()
// 关闭 Chromium 并释放分配的资源。
primaryStage.setOnCloseRequest { engine.close() }
您应该会看到以下输出:
您可以随时从 GitHub 下载和使用已配置好的带有 JavaFX GUI 的项目。
请将 JxBrowser SWT 库添加到您的 build.gradle
中:
dependencies {
implementation jxbrowser.swt
}
dependencies {
implementation(jxbrowser.swt)
}
请将 JxBrowser SWT 库添加到您的 pom.xml
中:
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-swt</artifactId>
<version>8.2.1</version>
</dependency>
现在您可以将 JxBrowser SWT 小部件嵌入到您的 Java Swing 应用程序中,如下所示:
// 初始化 Chromium。
EngineOptions options = EngineOptions.newBuilder(HARDWARE_ACCELERATED)
.licenseKey("您的许可证密钥")
.build();
Engine engine = Engine.newInstance(options);
// 创建一个 Browser 实例。
Browser browser = engine.newBrowser();
// 加载所需网页。
browser.navigation().loadUrl("https://html5test.teamdev.com");
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("JxBrowser SWT");
shell.setLayout(new FillLayout());
// 创建并嵌入 SWT 的 BrowserView 小部件以显示网页内容。
BrowserView 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();
// 初始化 Chromium。
val options = EngineOptions.newBuilder(HARDWARE_ACCELERATED)
.licenseKey("您的许可证密钥")
.build()
val engine = Engine.newInstance(options)
// 创建一个 Browser 实例。
val browser = engine.newBrowser()
// 加载所需网页。
browser.navigation().loadUrl("https://html5test.teamdev.com")
val display = Display()
val shell = Shell(display)
shell.setText("JxBrowser SWT")
shell.setLayout(FillLayout())
// 创建并嵌入 SWT 的 BrowserView 小部件以显示网页内容。
val 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()
您应该会看到以下输出:
您可以随时从 GitHub 下载和使用已配置好的带有 SWT GUI 的项目。
请将 JxBrowser Compose 库添加到您的 build.gradle
中:
dependencies {
implementation jxbrowser.compose
}
dependencies {
implementation(jxbrowser.compose)
}
请将 JxBrowser Compose 库添加到您的 pom.xml
中:
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-compose</artifactId>
<version>8.2.1</version>
</dependency>
现在您可以将 JxBrowser Compose 控件嵌入到您的 Java Compose Desktop 应用程序中,如下所示:
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.singleWindowApplication
import com.teamdev.jxbrowser.dsl.Engine
import com.teamdev.jxbrowser.dsl.browser.navigation
import com.teamdev.jxbrowser.engine.RenderingMode.OFF_SCREEN
import com.teamdev.jxbrowser.view.compose.BrowserView
fun main() = singleWindowApplication(
title = "Compose Desktop BrowserView",
state = WindowState(width = 1280.dp, height = 800.dp),
) {
val engine = remember { Engine(OFF_SCREEN) }
val browser = remember { engine.newBrowser() }
BrowserView(browser)
LaunchedEffect(Unit) {
browser.navigation.loadUrl("https://html5test.teamdev.com")
}
}
您应该会看到以下输出:
您可以随时从 GitHub 下载和使用已配置好的带有 Compose Desktop GUI 的项目。