作者:我的生活我做主哦耶_266 | 来源:互联网 | 2023-07-31 15:43
最近,项目组想开发一款插件,其中的功能就有面板中集成本地的Web页面,网上对这种的需求的方案也有很多种,像JEditorPane,DJNativeSwing,还有jdk自带的Jav
最近,项目组想开发一款插件,其中的功能就有面板中集成本地的Web页面,网上对这种的需求的方案也有很多种,像JEditorPane,DJNativeSwing,还有jdk自带的JavaFX的WebView,以下个人经历的开发过程所遇到的问题
1,JEditorPane,这一种对页面的只能进行一些简单的CSS样式的支持,像页面float等一些css样式就不支持了,所以这种方式集成的页面,只能是一个简单样式的页面
2,DJNativeSwing,JWebBrowser这种对页面的样式支持就很好了,它是一个浏览器,DJNativeSwing的JWebBrowser本身就继承Jpane,所以插件使用这个方式集成页面挺好的,但是这种方式集成需要导入org.eclipse.swt.win32.win32.x86_3.104.2.v20160212-1350.jar,这个包有版本的限制,不然会启动失败,开发的过程中,操作集成的页面时,鼠标和键盘不能滑动还输入等光标问题。可以使用FocusManager来进行处理
3,JavaFX,这种方式集成页面也是一种不错的选择,jdk自带的jar包,不需要导入第三方的jar包,这种框架比较轻量级,不是前一种是一个Web浏览器,对页面的支持也是挺好的,如果仅仅只是idea中使用,个人觉得这种集成的方式可以说是很理想的,但是我们的需求是idea的插件需要在Andriod Studio,PyCharm等一系列的IDEA的衍生产品中都适用,这就出现了一个问题,相应的IDE的jre中缺少jar包javafx.jar等包,网上说Andriod Studio说3.0以后的版本的jre中已经有这个包了,但是并没有看见,
IDEA插件开发,Jpane中集成Web页面