springboot 调用Jxbrowser内嵌浏览器

article/2025/10/3 2:13:57

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Jxbrowser是什么?
  • 二、使用步骤
    • 1.下载jar包
    • 一、在jxbrowser的启动类中加入如下代码:
    • 二、在resources目录下新建META-INF/teamdev.licenses
  • 程序调用
    • 注意:


前言

springboot 整合Jxbrowser,实现java程序内嵌浏览器功能

提示:以下是本篇文章正文内容,下面案例可供参考

一、Jxbrowser是什么?

JxBrowser是一个跨平台的Java库,允许将基于Google Chromium的Web浏览器组件集成到Java Swing / AWT / JavaFX应用程序中。使用JxBrowser,您可以将轻量级Swing / JavaFX组件嵌入到Java应用程序中,以显示现代网页,支持最新的Web标准,如HTML5,CSS3,JavaScript等。

二、使用步骤

1.下载jar包

import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import com.teamdev.jxbrowser.chromium.ba;

下载地址https://download.csdn.net/download/u014672513/15872180

1、下载完成后jar我存放在resources下
在这里插入图片描述
2、修改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.21.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-win64-6.21.jar</systemPath></dependency>
			<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.jiangh.SelfServiceApplication</mainClass><includeSystemScope>true</includeSystemScope><!--外部进行打包 --></configuration></plugin>

3、jxbrowser的破解
(注:破解仅用于技术交流,如有需要还是购买正版的好)

一、在jxbrowser的启动类中加入如下代码:

代码如下(示例)(6.21):

static {try {Field e = ba.class.getDeclaredField("e");e.setAccessible(true);Field f = ba.class.getDeclaredField("f");f.setAccessible(true);Field modifersField = Field.class.getDeclaredField("modifiers");modifersField.setAccessible(true);modifersField.setInt(e, e.getModifiers() & ~Modifier.FINAL);modifersField.setInt(f, f.getModifiers() & ~Modifier.FINAL);e.set(null, new BigInteger("1"));f.set(null, new BigInteger("1"));modifersField.setAccessible(false);} catch (Exception e) {e.printStackTrace();}}

二、在resources目录下新建META-INF/teamdev.licenses

Product: JxBrowser
Version: 6.x
Licensed to:
License type: Enterprise
License info: JxBrowser Demo License
Expiration date: 01-01-9999
Support expiration date: NO SUPPORT
Generation date: 01-01-9999
Platforms: win32/x86;win32/x64;mac/x86;mac/x64;linux/x86;linux/x64
Company name: TeamDev Ltd.
SigB: 1
SigA: 1

程序调用

public class ApplicationRunnerImpl implements ApplicationRunner,ApplicationListener<WebServerInitializedEvent>{static {try {Field e = ba.class.getDeclaredField("e");e.setAccessible(true);Field f = ba.class.getDeclaredField("f");f.setAccessible(true);Field modifersField = Field.class.getDeclaredField("modifiers");modifersField.setAccessible(true);modifersField.setInt(e, e.getModifiers() & ~Modifier.FINAL);modifersField.setInt(f, f.getModifiers() & ~Modifier.FINAL);e.set(null, new BigInteger("1"));f.set(null, new BigInteger("1"));modifersField.setAccessible(false);} catch (Exception e) {e.printStackTrace();}}public int getServerPort() {return serverPort;}private int serverPort;@Overridepublic void run(ApplicationArguments args) throws Exception {String url = "http://localhost:"+serverPort+"/";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() {// 窗口关闭时间监听@Overridepublic void windowClosing(WindowEvent e){System.out.println("窗口关闭...");}});}@Overridepublic void onApplicationEvent(WebServerInitializedEvent event) {serverPort = event.getWebServer().getPort();}
}

注意:

然后在eclipse的JREs—>VM Options里加上一句-Djava.awt.headless=false在这里插入图片描述

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


http://chatgpt.dhexx.cn/article/LrhXSQo5.shtml

相关文章

javaFX实现桌面应用程序内嵌浏览器(一、框架建设)

一、jdk不匹配问题 修改jdk版本不成功&#xff1a; 1、注意环境变量是否更改 2、jdk路径已经更改成功但cmd打开输入Java -version还是原先版本&#xff1a;在PATH的那一溜里将把JAVA_HOME放到最前面去 3、idea修改jdk版本 IDEA修改JDK版本完整版 以及Modules中的Sources&#…

IDM下载工具

安装的时候一直next就好了&#xff0c;尽量将idm安装在c盘里面 下面这个链接时绿色版&#xff0c;不需要安装 然后用idm免注册脚本运行一下 下载链接&#xff08;传不上来&#xff0c;发邮箱我给你传一份&#xff0c;这个阿里云盘有点low啊&#xff09; 尽量在关闭360等工具运…

idm 的使用

一:首先在chrome中添加IDM插件: http://www.internetdownloadmanager.com/ 首先进入IDM官网-->Support-->FAQ,点击BROWSER INTEGRATION QUESTIONS 然后点击第8条: 然后点击链接安装Chrome插件: 再然后, 启用该插件. 二、再下载IDMv.6.333 链接&#xff1a;https://do…

IDM的介绍、下载、注册激活使用教程详解 V6.38.2021

IDM是“Internet Download Manager”的简称&#xff0c;意思是“互联网下载管理器”&#xff0c;既是一类软件的统称&#xff0c;也专指一个非常知名的互联网下载器&#xff0c;这个软件的名字就叫IDM&#xff0c;被誉为地表最强下载器&#xff0c;屌丝救星&#xff0c;小电影神…

Internet Download Manager6.41提速下载器安装下载教程

很多人都知道Internet Download Manager(以下简称IDM)是一款非常优秀的下载提速软件。它功能强大&#xff0c;几乎能下载网页中的所有数据&#xff08;包括视频、音频、图片等&#xff09;&#xff0c;且适用于现在市面上几乎所有的浏览器&#xff0c;非常受大家欢迎。 Intern…

大神论坛 逆向分析 Internet Download Manager 序列号算法 附IDM注册机完整源码

1. 前言 idm version : 6.38 Build 23 2.算法逆向 IDM的序列号验证函数定位在&#xff1a; 下面是在IDA下的代码分析: .text:00510010 push ebp .text:00510011 lea ebp, [esp-1FCh] .text:00510018 sub esp, …

IDM使用介绍篇

IDM作为一款超级强大的下载工具&#xff0c;是很多人的首选&#xff0c;尤其是在当pandownload被封之后&#xff0c;找不到合适的替代下载工具&#xff0c;此时请把目光转移到IDM上&#xff0c;这款软件你值得拥有。所以接下来将介绍这款软件的使用。 1、下载地址 这里我提供了…

Internet Download Manager v6.41.3中文特别版IDM下载器免费下载

Internet Download Manager v6.41.3中文特别版(IDM)&#xff0c;全球最佳下载利器。Internet Download Manager 是一款Windows 平台功能强大的多线程下载工具&#xff0c;国外非常受欢迎。支持断点续传&#xff0c;支持嗅探视频音频&#xff0c;接管所有浏览器&#xff0c;具有…

IDM(Internet Download Manager)最新一款 功能最全/电脑必备的下载器激活序列号版

近些年移动互联网兴起&#xff0c;人手一部智能手机。人们花在PC上的时间越来越短&#xff0c;关注手机的时间越来越长。 4G、5G移动网络和云服务的飞速发展&#xff0c;网速越来越快&#xff0c;人们更愿意在线刷剧&#xff0c;在线存储。很多资源再也不需要存在本地占用磁盘空…

IDM6.39最新版补丁新增功能介绍

IDM6.39是一款转为安卓用户研发的下载管理器应用程序&#xff08;极速下载站提供&#xff09;&#xff0c;IDM Plus&#xff0c;下载速度最多可以提高620倍。包含的一组功能使其成为完美的下载管理器。IDM 支持多种文件格式&#xff0c;以确保您可以下载任何格式的任何文件。ID…

Internet Download Manager(V6.37版本IDM)免费序列号密钥激活版使用过程中的一些常见问题

在众多电脑必备软件中&#xff0c;下载软件 IDM 的不可替代性十分明显&#xff0c;无论是在文件下载、视频下载&#xff0c;还是网盘加速&#xff0c;IDM 都扮演着重要的角色。 1、Internet Download Manager的续传功能可以恢复因为断线、网络问题、计算机当机甚至无预警的停电…

Internet Download Manager用假的序列号注册,IDM将退出

下载下来直接双击绿化按钮即可. 软件链接 : https://pan.baidu.com/s/1agK3cLtjJzXcGEgsuv5mVQ 提取码: ckm7

IDM下载器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 安装IDM教程并输入序列号 下载IDM&#xff0c;输入序列号 例如&#xff1a;先下载IDM再输入序列号 提示&#xff1a;本文参考了别人的博客&#xff0c;参考的博客连接放在…

idm2021中文版序列号加速下载百度云网盘大文件教程

自从不限速度盘下载工具Pandownload被封杀后&#xff0c;有些网友纷纷表示&#xff1a;幸好我们还有Internet Download Manager&#xff08;IDM&#xff09; 但是&#xff0c;对于很多小伙伴来说&#xff0c;初次听到这个名词时都是一脸懵逼——啥是IDM&#xff1f; 今天&…

IDM永久版下载神器如何正确使用呢?超详细教程和序列号

大家从网上下载资源时还在使用浏览器自带的下载方式吗&#xff1f;小编觉得用这种方式下载的话速度会比较慢&#xff0c;无法完全利用上自己的带宽。所以小编给大家安利一款下载神器——Internet Download Manger&#xff08;IDM&#xff09;&#xff0c;这是大多数人公认的下载…

IDM 6.4.1逆向分析笔记

环境准备 安装过程不做说明 1. x64dbg 官网地址&#xff1a;https://x64dbg.com/ 2. 火绒剑 官网地址&#xff1a;https://www.huorong.cn/ &#xff13;.SPY 下载地址&#xff1a;https://github.com/westoncampbell/SpyPlusPlus 有安装了Visual Studio2013-2022的在工…

IDM下载器软件激活序列号错误如何解决?

Internet Download Manager (IDM)是最流行的 Windows 下载管理器。如果你平时工作中使用过IDM,您会惊叹 IDM 下载文件的速度有多快。IDM 还将修复因连接丢失、网络问题、计算机关机或意外断电而中断的下载并恢复中断的下载。如果您之前使用过 IDM 试用版&#xff0c;但您已经购…

关于IDM下载器,提示:一个假冒的序列号被用来注册……idea项目文件路径报红

关于IDM下载器&#xff0c;提示&#xff1a;一个假冒的序列号被用来注册…… 到C:\Windows\System32\drivers\etc 修改目录下面的hosts文件&#xff08;如果没有修改的权限就右键属性hosts文件修改user的权限为完全控制&#xff09;&#xff0c;在hosts里面增加以下内容&#x…

Pandas-csv格式转tsv格式

原文链接 http://chenhao.space/post/b7b37f12.html .csv to .tsv 这是一个CSV格式的文件&#xff1a; 我想要提取出表头为rating和comment的数据&#xff0c;并且转为tsv(每一列以\t分隔)格式。 import pandaspath ./MovieRatings.csv pd_all pd.read_csv(path) pd_all.t…

傻白入门芯片设计,Substrate/RDL/Interposer/EMIB/TSV(三)

目录 一、Substrate&#xff08;衬底或基板&#xff09; &#xff08;1&#xff09;硅工艺的互连衬底 &#xff08;2&#xff09;封装有机基板 &#xff08;3&#xff09;基础知识科普 二、RDL Interposer 技术 三、硅中介层&#xff08;Si Interposer&#xff09; 四、…