springboot 调用Jxbrowser内嵌浏览器
生活随笔
收集整理的這篇文章主要介紹了
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文件
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内嵌浏览器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8250cdn清零 lh_兄弟 HL-L
- 下一篇: git管理账户忘记了_强制找回GitLa