目标开发打包一个exe软件,用于展现web我的项目内容。[仅供学习应用]应用 javaFX | BorderPane 布局
1.top局部 自定义窗口头部 ( icon, 题目,返回按钮,清理按钮,放大按钮,放大按钮,敞开按钮)
2.center局部 嵌入chrome内核浏览器(jxbrowser),用于展现我的项目内容
开发环境32位是为了打出32位的程序和安装包,应用32位是为了让32位和64位零碎都可应用。jre1.8是javafx的运行时环境,为了可能让程序在其余没有装置jdk的电脑上装置运行,须要把32位的jre环境打包进程序中.应用jxbrowser不是用自带webview的起因在于 webview卡顿重大且渲染页面会造成款式错乱.jdk1.8exe4j 5.0.1 (32位)inno setup 5.6.1 (32位)jre1.8的运行文件(32位)jxbrowser-6.22.1.jar 和 jxbrowser-win32-6.22.1.jar (须要破解能力应用【仅供学习】, 破解步骤如下)
teamdev.licenses (放在打jar包生成的 META-INF 中)
Product: JxBrowserVersion: 6.xLicensed to: Kagura.meLicense type: EnterpriseLicense info: JxBrowser LicenseExpiration date: 01-01-9999Support expiration date: NO SUPPORTGeneration date: 01-01-1970Platforms: win32/x86;win32/x64;mac/x86;mac/x64;linux/x86;linux/x64Company name: TeamDev Ltd.SigB: 1SigA: 1代码中(动态代码块, 必须比其余代码先运行)
static { try { Field e = bb.class.getDeclaredField("e"); e.setAccessible(true); Field f = bb.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 e1) { e1.printStackTrace(); }}开发思路利用javaFX开发内部窗口,而后嵌入chrome浏览器将开发出的程序打成jar包利用exe4j将jar包打成exe启动程序在用inno setup将exe程序封装成一个程序安装包代码如果没有我的项目地址,可用browser.loadHTML("测试页面"), 加载dom节点进行页面渲染;如果有我的项目地址,可用browser.loadURL(testUrl); 间接获取我的项目页面或者可用第三方网站地址 browser.loadURL(“https://www.baidu.com”)获取内容查看
...