# jfx_webview_vue
**Repository Path**: twjHeap/jfx_webview_vue
## Basic Information
- **Project Name**: jfx_webview_vue
- **Description**: jfx_webview_vue JavaFX + VUE
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 2
- **Created**: 2019-07-08
- **Last Updated**: 2022-08-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# jfx_webview_vue
#### 介绍
jfx_webview_vue JavaFX + VUE
#### 软件架构
JavaFX WEBview VUE 对Jvm有种执着,虽然electron是好用。
#### 安装教程
1. npm run dev
2. run kotlin/jvm app
#### js和Java通信建议
java -> js 修改vue监听的数据即可完成界面数据更改
js -> Java 给js window注入Java对象,js可调Java,也可在Java中用事件总线
#### 错误信息和调试
WebConsoleListener 可以设置获取web的控制台消息()
```$xslt
WebConsoleListener.setDefaultListener {webView, message, lineNumber, sourceId ->
println("Console:${webView.engine.title} $message [$sourceId:$lineNumber]");
}
```
这个类没有在module中export,所以在java 9 模块系统里面无法使用
下面的需要允许跨域访问
```$xslt
System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
```
用下面这个标签可以利用 firebug 来调试html 但是版本比较老,只能用这个链接,下载下来不行
```$xslt
```
也可以使用vue-devtool:
https://github.com/vuejs/vue-devtools/blob/master/shells/electron/README.md
```
npm install -g @vue/devtools
vue-devtools
```
vue-devtool只能调试布局,不过也够用了
还有 让页面window.oneror 输出到Java 也可以获取页面出错的信息
这篇文章介绍了可以重新定义console.error, console.log, https://www.jianshu.com/p/44fc5ef3c73e
基本就酱紫了。至于打包神马的,后续再弄。
关于Java9之后的模块化Java打包 见 https://www.cnblogs.com/antfin/p/10345016.html
更加推荐官方的文档,https://openjfx.io/openjfx-docs/#maven
模块化能够减小JRE的大小,非常有用,但是坑也比较多。
按照官网给出的方法试了下 maven不能jlink kotlin模块 gradle可以
#### 待解决问题:
1.主程序入口不要 kotlin 否则可能无法运行
2.右键菜单
#### 结论
用jlink生成jdk 再压缩成zip,相比electron-build也无优势。这里只是做一个实验。
#### NOTE
1.模块包导出需要每个包分别导出,否则会错误