日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

springboot 调用Jxbrowser内嵌浏览器

發布時間:2023/12/20 HTML 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot 调用Jxbrowser内嵌浏览器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 前言
  • 一、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運行時異常

總結

以上是生活随笔為你收集整理的springboot 调用Jxbrowser内嵌浏览器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。