Springboot整合JxBrowse

Springboot整合JxBrowser&JavaFX


1、下载JxBrowser相关依赖

JxBrowser官网:https://teamdev.cn/jxbrowser/
或者
csdn资源:https://download.csdn.net/download/nl9788/87965368

2、pom文件引入

   <dependency>
            <groupId>jxbrowser-7.19</groupId>
            <artifactId>jxbrowser-7.19</artifactId>
            <version>7.19</version>
            <scope>system</scope>
            <systemPath>${project.basedir}\src\main\resources\lib\jxbrowser-7.19.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>jxbrowser-win64-7.19</groupId>
            <artifactId>jxbrowser-win64-7.19</artifactId>
            <version>7.19</version>
            <scope>system</scope>
            <systemPath>${project.basedir}\src\main\resources\lib\jxbrowser-win64-7.19.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>jxbrowser-javafx-7.19</groupId>
            <artifactId>jxbrowser-javafx-7.19</artifactId>
            <version>7.19</version>
            <scope>system</scope>
            <systemPath>${project.basedir}\src\main\resources\lib\jxbrowser-javafx-7.19.jar</systemPath>
        </dependency>


 <!-- 需要修改的地方 -->
      <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.12.RELEASE</version>
                <configuration>
                    <mainClass>com.ControlClientApplication</mainClass>

 					<!-- 需要添加此处用来引入外部的依赖文件   需要修改的地方 -->
                    <includeSystemScope>true</includeSystemScope><!--外部进行打包 -->
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

3、配置启动类


import com.teamdev.jxbrowser.browser.Browser;
import com.teamdev.jxbrowser.engine.Engine;
import com.teamdev.jxbrowser.engine.EngineOptions;
import com.teamdev.jxbrowser.engine.RenderingMode;
import com.teamdev.jxbrowser.view.javafx.BrowserView;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;

import javafx.stage.Stage;

public class JavaFXApplication extends Application {

    @Override
    public void start(Stage primaryStage) {
		//此处需要配置您的授权秘钥
        System.setProperty("jxbrowser.license.key", "*********");
       
        Engine engine = Engine.newInstance(EngineOptions.newBuilder(RenderingMode.HARDWARE_ACCELERATED).diskCacheSize(335544320).build());

        Browser browser = engine.newBrowser();
		//您要访问的url
        browser.navigation().loadUrl("http://127.0.0.1:8087/");

        BrowserView view = BrowserView.newInstance(browser);

        Scene scene = new Scene(new BorderPane(view), 800, 600);
        primaryStage.setTitle("单机鉴权测试");
        primaryStage.setScene(scene);
        primaryStage.show();
        primaryStage.setMaximized(true);

    }
}

注意:程序在运行时会报java.awt.HeadlessException: null的错误

方法1:打包后也可正常运行,重写主启动方法:

import com.iscas.config.JavaFXApplication;
import javafx.application.Application;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class ControlClientApplication {

    public static void main(String[] args) {
       // SpringApplication.run(ControlClientApplication.class, args);
        SpringApplicationBuilder builder = new SpringApplicationBuilder(ControlClientApplication.class);
        builder.headless(false).run(args);
        // 启动JavaFX应用程序
        Application.launch(JavaFXApplication.class, args);
    }
}

方法2: 在开发环境下有效
在启动配置中VM options添加:-Djava.awt.headless=false

此时,点击运行即可弹出javaFx窗体;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值