很久以前听说过一种写法
比如写个安卓程序,刚学几天还不太会写安卓,就把每个页面都写成本地的html,再用WebView嵌套。
图方便,运行效率低,用户体验差,曾几何时,这是一种很糟嫌弃的写法
没想到,等我学JavaFX,学到吐血的时候,发现JavaFX也可以WebView嵌套Html
比起百度半天答非所问 全英文文档啃到吐血 html我不到5分钟就能写一个页面 一不小心真香了属于是
`嘲笑WebView` => `质疑WebView` => `理解WebView` => `成为WebView`

## 折腾
最终目的是希望写个Demo
前端展示全部用本地的Html文件
后端逻辑控制全部用Java和JS交互实现
以达到一个节省学习JavaFX前端组件的目的
环境大致是这样
系统 `LinuxDeepin 20.9`
IDE `IntelliJ IDEA 2023.1.2 (Ultimate Edition)`
环境 `OpenJDK 11.0.9`
**新建JavaFX项目**
上一篇文章详细讲过了,这里略过
地址: [2023 IDEA 开发桌面图形界面程序 JavaFX 并导出 Jar 支持多系统](https://zzzmh.cn/post/eee76yv5u9e48dkarmzymnfryohapwm0)
**稍作修改**
由于不用写JavaFX的组件模块,直接简化开发,删除了fxml和相关依赖代码,全部用Java代码即可搞定
maven核心依赖是这三个
`pom.xml`
```xml
org.openjfx
javafx-controls
17.0.6
org.openjfx
javafx-web
17.0.6
手动引入 `javafx.web` 到模块化
`module-info.java`
```java
module com.zzzmh.jfx {
requires javafx.controls;
// 手动引入到模块化
requires javafx.web;
exports com.zzzmh.jfx;
删除了不需要的文件
最终目录如下
```treeview
JFX-WebView-Demo/
|-- src/
| |-- main/
| | |-- java/
| | | |-- com.zzzmh.jfx/
| | | | |-- controller/
| | | | | |-- Controller.java
| | | | |-- App.java
| | | |-- module-info.java
| | |-- resources/
| | | |-- com.zzzmh.jfk/
| | | | |-- index/
| | | | | |-- index.html
`-- pom.xml
`index.html` 先随便写点东西占位
```html
JavaFX WebView Demo
测试