SpringBoot启动后启动内嵌浏览器的方法

作者:小达哥的垃圾桶 时间:2023-02-27 17:42:53 

1、下载内嵌浏览器Jar包

下载地址:点击下载

2、项目下加入对应jar;然后右键:Add as Library...

SpringBoot启动后启动内嵌浏览器的方法

3、添加启动项目后事件

效果:内嵌浏览器打开指定页面,全屏


import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
* @author 鲁达
* createTime 2019-12-29 20:51
**/
@Component
public class ApplicationRunnerImpl implements ApplicationRunner {
 @Override
 public void run(ApplicationArguments args) throws Exception {
   String url = "http://localhost:9028/open/index";
   JFrame frame = new JFrame();
   // 谷歌内核浏览器
   Browser browser = new Browser();
   BrowserView view = new BrowserView(browser);
   //禁用close功能
//    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   //隐藏任务栏图标
//    frame.setType(JFrame.Type.UTILITY);
//    //不显示标题栏,最大化,最小化,退出按钮
   frame.setUndecorated(true);
   //尺寸
//    frame.setSize(500, 500);
   //坐标
   frame.setLocation(0, 0);
   frame.add(view);
   //全屏显示
   frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
   // 是否显示
   frame.setVisible(true);
   //是否在屏幕最上层显示
   frame.setAlwaysOnTop(true);
   //加载地址
   browser.loadURL(url);
//    System.out.println(frame.getX());
//    System.out.println(frame.getY());
//    list.add(frame);
   frame.addWindowListener(new WindowAdapter() {
     // 窗口关闭时间监听
     @Override
     public void windowClosing(WindowEvent e){
       System.out.println("窗口关闭...");
     }
   });
 }
}

4、然后在ide 的run--->VM Options里加上一句-Djava.awt.headless=false

解决问题:java.awt.HeadlessException运行时异常

SpringBoot启动后启动内嵌浏览器的方法

5、pom.xml文件添加依赖

解决问题:打包找不到依赖的问题


<!--内嵌浏览器-->
   <dependency>
     <groupId>jxbrowser-6.14</groupId>
     <artifactId>jxbrowser-6.14</artifactId>
     <version>6.14</version>
     <scope>system</scope>
     <systemPath>${project.basedir}\src\main\resources\lib\jxbrowser-6.14.jar</systemPath>
   </dependency>
   <dependency>
     <groupId>jxbrowser-win32-6.14</groupId>
     <artifactId>jxbrowser-win32-6.14</artifactId>
     <version>6.14</version>
     <scope>system</scope>
     <systemPath>${project.basedir}\src\main\resources\lib\jxbrowser-win32-6.14.jar</systemPath>
   </dependency>

<build>
   <plugins>
     <plugin>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-maven-plugin</artifactId>
       <configuration>
         <includeSystemScope>true</includeSystemScope>
       </configuration>
     </plugin>
   </plugins>
 </build>

来源:https://blog.csdn.net/qq_31122833/article/details/103758203

标签:SpringBoot,内嵌浏览器
0
投稿

猜你喜欢

  • java解析excel文件的方法

    2023-05-13 15:53:44
  • java过滤特殊字符操作(xss攻击解决方案)

    2022-09-27 13:48:59
  • MyBatis快速入门(简明浅析易懂)

    2022-05-25 23:08:55
  • Java二分查找算法实现代码实例

    2023-08-24 05:34:23
  • SpringBoot集成Beetl后统一处理页面异常的方法

    2023-11-10 19:57:55
  • Thymeleaf 3.0 自定义标签方言属性的实例讲解

    2023-03-24 20:40:23
  • 全面解析Java中的引用类型

    2022-07-15 23:48:07
  • unity使用射线实现贴花系统

    2023-04-23 10:22:00
  • 解决Weblogic部署war找不到spring配置文件的问题

    2022-12-29 07:03:08
  • 10种提升android运行效率的建议

    2022-08-15 23:45:41
  • 如何用java程序(JSch)运行远程linux主机上的shell脚本

    2023-11-24 12:35:58
  • Spring Boot + Vue 前后端分离开发之前端网络请求封装与配置

    2021-05-28 02:48:41
  • C#创建WebService接口并连接的全过程

    2023-04-07 07:47:21
  • AjaxControlToolkit AjaxFileUpload 显示英文改成中文的解决方法

    2021-06-01 21:09:57
  • maven下载jar包改用阿里云maven库的方法

    2023-02-13 07:41:58
  • Kotlin 基础教程之类、对象、接口

    2022-03-12 04:22:15
  • Unity3D实现虚拟按钮控制人物移动效果

    2022-06-13 04:26:26
  • 一文带你搞懂Java8的LocalDateTime

    2023-11-10 02:02:22
  • Java编程实现统计一个字符串中各个字符出现次数的方法

    2023-01-24 18:02:20
  • spring拓展之如何定义自己的namespace

    2022-01-12 05:13:33
  • asp之家 软件编程 m.aspxhome.com