2 DJ Native Swing这个效果也不错,我捣鼓了半天,就是使用起来很麻烦,它的很多功能不符合我的预期,没办法在netbeans中拖拽使用
3 JxBrowser这个浏览器组件非常好用,但它是商业版的,网上已有破解方法。缺点就是,这个组件长时间不 *** 作,会莫名其妙地卡死,偶尔还会报各种channel异常错误,我始终没解决这个问题,而且所依赖的jar太大,大概100多M。
Swing与Javafx的对比
在Swing图形工具包中,JFrame是一个顶层容器,JPanel是一个中间容器,JPanel上面可以放置各种Button按钮、Label标签等图形控件。有一个很形象的比喻,JFrame是一张桌子,各个组件是一盘又一盘的菜,而JPanel就是一个托盘,装了选好的菜品(组件)后放到JFrame桌子上。一个JFrame界面上可以有多个JPanel用来划分不同的区域。
在Javafx中,顶级容器是舞台Stage,也就是软件的界面窗口;Scene场景为中间容器,各种组件Button、Label成为Node节点,Node节点必须放在Scene场景中。
Swing添加Javafx的webview组件
Netbeans没法拖拽JFXPanel,那么我们可以这样,在JFrame上先放一个JPanel,然后手动敲代码在JPanel上添加一个JFXPanel,JFXPanel上放一个scene场景,在其上面放一个Javafx的webview组件,具体看如下 *** 作:
JFrame-->JPanel-->JFXPanel-->scene-->webview,需要手写的代码量很少。具体 *** 作如下:
1. netbeans拖拽画出一个JFrame窗口。
2. 在JFrame图形界面上,想要实现浏览器组件的位置放一个JPanel。
0d2948bc3de3cdeb518b92f4e3313ed2.png
3. 手动敲代码,在JPanel上面放置一个JFXpanel,然后载入一个场景。
4. 手动敲代码,在JFXPanel上放置一个webview控件。
613f757c51996c6beff242858adce564.png
如下图所示,浏览器稳定运行。
可以到官方网站上下载相应的包,下面大致说明一下如何运用它的三方包,实现在Swing中嵌入浏览器。 该文章只说明Swing中嵌入浏览器这一个问题,解决该问题需要3个第三方库文件,jdic.jar、jdic.dll、IeEmbed.exe. jdic.jar是Java程序需要引入的第三方库,并且将jdic.dll、IeEmbed.exe拷到系统变量classpath或是 *** 作系统system32下即可。 System.loadLibrary("jdic")BrowserEngineManager bem = BrowserEngineManager.instance()bem.setActiveEngine(BrowserEngineManager.IE)IBrowserEngine be = bem.getActiveEngine()WebBrowser browser = be.getWebBrowser()browser.setURL(url)JFrame f = new JFrame()f.setTitle("Swing浏览器")CentreInWindows.fullscreen(f)f.getContentPane().add(browser.asComponent())f.setVisible(true)Java Swing做不到,swing只能显示有限的标签,javascript的支持更是无从谈起.如果非要JFrame,即Java CS下只能靠Java FX实现,将Java FX的组件嵌入进去就可以了,几句话的事(不过仅支持jdk1.6及以上)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)