Java 网页浏览器组件介绍.docx
《Java 网页浏览器组件介绍.docx》由会员分享,可在线阅读,更多相关《Java 网页浏览器组件介绍.docx(13页珍藏版)》请在三一办公上搜索。
1、Java 网页浏览器组件介绍前言 在使用 Java 开发客户端程序时,有时会需要在界面中使用网页浏览器组件,用来显示一段 HTML 或者一个特定的网址。本文将介绍在界面中使用浏览器组件的四种方法,给出示例的代码,并且分析每种方法的优点与不足,便于 Java 开发者在实际开发过程中根据自己的需要来选择。 回页首 JDK 中的实现 - JEditorPane Swing 是一个用于开发 Java 应用程序图形化用户界面的工具包,它是以抽象窗口工具包为基础使跨平台应用程序可以使用任何可插拔的外观风格,而且它是轻量级组件,没有本地代码,不依赖于操作系统的支持,这是它与 AWT 组件的最大的区别。 在
2、Swing 中,有一个组件是 JEditorPane,它是一个可以编辑任意内容的文本组件。这个类使用了 EditorKit 来实现其操作,对于给予它的各种内容,它能有效地将其类型变换为适当的文本编辑器种类。该编辑器在任意给定时间的内容类型由当前已经安装的 EditorKit 来确定。 默认情况下,JEditorPane 支持以下的内容类型: text/plain 纯文本的内容,在此情况下使用的工具包是 DefaultEditorKit 的扩展,可生成有换行的纯文本视图。 text/html HTML 文本,在此情况下使用的工具包是 javax.swing.text.html.HTMLEdito
3、rKit,它支持 HTML3.2。 text/rtf RTF 文本,在此情况下使用的工具包是类 javax.swing.text.rtf.RTFEditorKit,它提供了对多样化文本格式的有限支持。 JEditorPane 的常用方法 JEditorPane 创建一个新的 JEditorPane 对象 JEditorPane(String url) 根据包含 URL 规范的字符串创建一个 JEditorPane JEditorPane(String type,String text) 创建一个已初始化为给定文件的 JEdiorPane JEditorPane(URL initialPage)
4、 根据输入指定的 URL 来创建一个 JEditorPane scrollToReference(String reference) 将视图滚动到给定的参考位置 setContentType(String type) 设置此编辑器所处理的内容类型 setEditorKit(EditorKit kit) 设置当前为处理内容而安装的工具包 setPage(String url) 设置当前要显示的 URL, 参数是一个 String setPage(URL page) 设置当前要显示的 URL, 参数是一个 .URL 对象 setText(String t) 将此 TextComponent 的文本
5、设置为指定内容,预期以此编辑器的内容类型格式提供该内容 JEditorPane 显示网页 要使用 JEditorPane 来显示 HTML,需要完成以下几个步骤: 创建一个 JEditorPane 对象 private JEditorPane jep=new JEditorPane; 设置 JEditorPane 显示的内容为 text/html jep.setContentType(text/html); 设置它不可编辑 jep.setEditable(false); 处理超链接事件 jep.addHyperlinkListener(this); JEditorPane 需要注册一个 Hyp
6、erlinkListener 对象来处理超链接事件,这个接口定义了一个方法 hyperlinkUpdate(HyperlinkEvent e),示例代码如下: public void hyperlinkUpdate(HyperlinkEvent event) if(event.getEventType = HyperlinkEvent.EventType.ACTIVATED) try jep.setPage(event.getURL); catch(IOException ioe) ioe.printStackTrace; 完整的代码可以在本文中 下载 到。在这个例子中,实现了一个 Hyper
7、linkListener 接口,在方法实现中, if(event.getEventType=HyperlinkEvent.EventType.ACTIVATED) 这行代码表示首先判断 HyperlinkListener 的类型,在这里只处理事件类型为 HyperlinkEvent.EventType.ACTIVATED 的事件,然后通过调用 HyperlinkEvent 的 getURL 方法来获取超链接的 URL 地址。 最后通过调用 jep.setPage(event.getURL) 方法,使得 JEditorPane 显示新的 URL 地址。 JEditorPane 优缺点 由于 JE
8、ditorPane 是包含在 J2SE 中的 Swing 中,所以不需要导入第三方的 jar 文件,相对来说比较简单。但是 JEditorPane 类对于网页中的 CSS 的显示处理以及对 JavaScript 脚本执行的支持很弱,而且官方似乎也没有对 JEditorPane 类进行改进的打算,如果想用 JEditorPane 来显示常见的网址,会发现显示出来的页面与 IE,Firefox 有很大的差别,而且不能正常地处理页面逻辑。所以如果仅仅用来显示比较简单的 HTML, 用 JEditorPane 还是一个不错的选择。 回页首 开源的 Java Web 浏览器实现 - Lobo Lobo
9、项目是一个第三方的开源 Java 浏览器项目,它的官方网站是 http:/lobobrowser.org/java-browser.jsp。 它是使用 100%Java 代码实现的,而且能完整地支持 HTML4、JavaScript 以及 CSS2,除此之外,它还支持直接的 JavaFX 渲染。 Lobo 本身就已经是一个完整的浏览器软件,同时它还提供了很多与网页浏览器相关的 API,便于 Java 程序员在自己的代码中使用或者进行扩展,其中包括渲染引擎 API、浏览器 API 以及插件系统 API 等等。具体的功能可以在它的官方网站上查看。 Lobo 中的 FramePanel Lobo 中
10、实现 Web 浏览器的类叫 FramePanel,它提供了对 HTML 页面显示的封装,并且提供了一些辅助的方法。下面是一些常见方法的介绍: FramePanel 创建一个单独的 FramePanel 对象,它能被添加到任意的 Swing 窗口或者组件上。 boolean back 浏览器返回上一个页面 boolean alert(String message) 打开一个提示对话框,并且显示消息 boolean forward 浏览器进入下一个界面 boolean confirm(String message) 打开一个确认对话框,显示特定的消息 void navigate(String ur
11、l) 在这个组件里面显示特定的网址,参数一个网址的 String void reload 重新加载当前的界面 addContentListener(ContentListener listener) 添加一个内容变化的监听器 addNavigationListener(NavigationListener listener) 添加一个导航的监听器 addResponseListener(ResponseListener listener) 添加一个获取服务器返回结果的监听器 使用 FramePanel 要想使用 FramePanel,首先需要在它的官方网站上面下载它的安装包,然后在安装目录下,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 网页浏览器组件介绍 网页浏览器 组件 介绍

链接地址:https://www.31ppt.com/p-3159504.html