List icon 目录

配置 IntelliJ IDEA

本教程将展示如何在 IntelliJ IDEA 中创建一个 Java 项目,配置它以使用 JxBrowser,创建并运行一个简单的 Hello World 应用程序。

创建一个新项目

运行 IntelliJ IDEA 并创建一个新的 Java 项目:

Creating new project in IntelliJ

输入项目名称并单击 Create 按钮。

添加 JxBrowser JARs

将 JxBrowser JARs 添加到 Java 模块依赖项中:

Java Module Add Deps

首先,添加带有 Java 类的模块:

Viewing Module Deps

然后,添加包含二进制文件的模块。在添加它们时,IntelliJ 可能会要求您识别要添加的文件类型。在这种情况下,当 IDE 提示您时,请选择 Classes 选项:

File category in JAR

Viewing All Module Deps

创建一个程序

创建 HelloWorld 类:

New Class New Class Name

插入以下 HelloWorld 示例的源代码:

import static com.teamdev.jxbrowser.engine.RenderingMode.HARDWARE_ACCELERATED;

import com.teamdev.jxbrowser.browser.Browser;
import com.teamdev.jxbrowser.engine.Engine;
import com.teamdev.jxbrowser.view.swing.BrowserView;
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

public class HelloWorld {

    public static void main(String[] args) {
        // 创建并运行 Chromium Engine。
        var engine = Engine.newInstance(HARDWARE_ACCELERATED);
        var browser = engine.newBrowser();

        SwingUtilities.invokeLater(() -> {
            // 创建用于渲染在给定 Browser 实例中加载的 Web 内容的 Swing 组件。
            var view = BrowserView.newInstance(browser);

            // 创建并显示 Swing 应用程序 Frame。
            var frame = new JFrame("Hello World");
            // 关闭 Engine 并关闭应用程序窗口。
            frame.addWindowListener(new WindowAdapter() {
                @Override
                public void windowClosing(WindowEvent e) {
                    engine.close();
                }
            });
            frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            var addressBar = new JTextField("https://www.google.com");
            addressBar.addActionListener(e ->
                    browser.navigation().loadUrl(addressBar.getText()));
            frame.add(addressBar, BorderLayout.NORTH);
            frame.add(view, BorderLayout.CENTER);
            frame.setSize(800, 500);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
            
            browser.navigation().loadUrl(addressBar.getText());
        });
    }
}

运行程序

运行 HelloWorld 程序:

Run Program HelloWorld Program