快速业务通道

Java网页浏览器组件介绍 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
件介绍(3) 时间:2011-10-16 IBM 王凯迪

完整的代码可以在本文中 下载 到。在这个例子中,实现了一个 HyperlinkListener 接口,在方法实 现中,

if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED) 

这行代码表示首先判断 HyperlinkListener 的类型,在这里只处理事件类型为 HyperlinkEvent.EventType.ACTIVATED 的事件(即点击了某个超链接的事件),然后通过调用 HyperlinkEvent 的 getURL() 方法来获取超链接的 URL 地址。

最后通过调用 jep.setPage(event.getURL()) 方法,使得 JEditorPane 显示新的 URL 地址。

JEditorPane 优缺点

由于 JEditorPane 是包含在 J2SE 中的 Swing 中,所以不需要导入第三方的 jar 文件,相对来说比 较简单。但是 JEditorPane 类对于网页中的 CSS 的显示处理以及对 JavaScript 脚本执行的支持很弱, 而且官方似乎也没有对 JEditorPane 类进行改进的打算,如果想用 JEditorPane 来显示常见的网址,会 发现显示出来的页面与 IE,Firefox 有很大的差别,而且不能正常地处理页面逻辑。所以如果仅仅用来显 示比较简单的 HTML, 用 JEditorPane 还是一个不错的选择。

开源的 Java Web 浏览器实现 - Lobo

Lobo 项目是一个第三方的开源 Java 浏览器项目,它的官方网站是 http://lobobrowser.org/java- browser.jsp。 它是使用 100%Java 代码实现的,而且能完整地支持 HTML4、JavaScript 以及 CSS2,除 此之外,它还支持直接的 JavaFX 渲染。

Lobo 本身就已经是一个完整的浏览器软件,同时它还提供了很多与网页浏览器相关的 API,便于 Java 程序员在自己的代码中使用或者进行扩展,其中包括渲染引擎 API、浏览器 API 以及插件系统 API 等等。具体的功能可以在它的官方网站上查看。

Lobo 中的 FramePanel

Lobo 中实现 Web 浏览器的类叫 FramePanel,它提供了对 HTML 页面显示的封装,并且提供了一些辅 助的方法。下面是一些常见方法的介绍:

FramePanel()

创建一个单独的 FramePanel 对象,它能被添加到任意的 Swing 窗口或者组件上。

boolean back()

浏览器返回上一个页面

boolean alert(String message)

打开一个提示对话框,并且显示消息

boolean forward()

浏览器进入下一个界面

boolean confirm(String message)

打开一个确认对话框,显示特定的消息

void navigate(String url)

在这个组件里面显示特定的网址,参数一个网址的 String

void reload()

重新加载当前的界面

addContentListener(ContentListener listener)

添加一个内容变化的监听器

Java网页浏览器组件介绍(4)

时间:2011-10-16 IBM 王凯迪

addNavigationListener(NavigationListener listener)

添加一个导航(所显示的 URL 变化)的监听器

addResponseListener(ResponseListener listener)

添加一个获取服务器返回结果的监听器

使用 FramePanel

要想使用 FramePanel,首先需要在它的官方网站上面下载它的安装包,然后在安装目录下,可以看到 有 lobo.jar 以及 lobo-pub.jar,将这两个 jar 文件添加到 classpath 中。类似于 JEditorPane, 要 使用 FramePanel 有以下的步骤:

创建一个 FramePanel 的对象

FramePanel browser=new FramePanel();

将这个对象添加到界面上。Frame 是继承自 JPanel, 所以可以像其他 Swing 组件一样地添加到 JPanel 或者窗口上面。

通过调用 FramePanel.navigate(url) 的方法来设置要显示的网址。

不同于 JEditorPane,FramePanel 已经默认处理了点击超链接的事件,不需要另外手动地编写代码来 处理。

Lobo 浏览器 API 的优缺点

首先 Lobo 的 FramePanel 是 100% 纯 Java 的实现,具有良好的可移植性,在 Window/Linux 平台 下都能正常地运行。它相比于 Swing 中的 J

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号