用Swing组件展示HTML文档.ppt_第1页
用Swing组件展示HTML文档.ppt_第2页
用Swing组件展示HTML文档.ppt_第3页
用Swing组件展示HTML文档.ppt_第4页
用Swing组件展示HTML文档.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用Swing组件展示HTML文档,内容,在按钮等原子组件上展示HTML文档 用JEditorPane组件创建简单的浏览器,组件上显示HTML,多数基于文本的swing组件上可以显示HTML文本 标签、按钮、菜单项、工具提示等 Swing组件上可以支持的HTML标签有、和,组件上显示HTML,限制: 不支持HTML3.2中的、和标记 不支持HTML4.0中的各种新标记,如、和等 不支持框架标签,组件上显示HTML,支持标签的限制: 不能解析属性值中的相对地址,影响IMG标签的src属性 链接在单击后不会发生转向 表单仅能显示,用户不能输入或提交 总之,在swing组件中仅能支持静态文本和图片,J

2、EditorPane,如需要处理交互,可以使用javax.swing.JEditorPane. 可以处理框架、表单及超链接 JEditorPane类以简单直观的方式支持HTML,使用时,仅需指明URL即可显示,JEditorPane构造方法,JEditorPane类提供四个构造方法: public JEditorPane() public JEditorPane(URL initialPage)throws IOException public JEditorPane(String url)throws IOException public JEditorPane(String mimeTyp

3、e,String text),JEditorPane设置方法,JEditorPane类还提供了设置要展示的页面的方法: public void setPage(URL page)throws IOException public void setPage(String url)throws IOException public void setContentType(String type) public void setText(String text) 以上两个setPage()方法指定要展示的页面的URL,setContentType()方法指定文档的类型,可选值包括“text/html

4、”和“text/plain”等,setText()方法指定文档的具体内容。,JEditorPane举例1,以下四段代码的作用是等价的,它们都创建了能展示网站的主页的JEditorPane对象:,/第一段代码 JEditorPane jep=new JEditorPane(); jep.setPage(); /传入字符串类型参数 /第二段代码 JEditorPane jep=new JEditorPane(); URL url=new URL(); /传入UR

5、L类型参数 jep.setPage(url);,/第三段代码 JEditorPane jep=new JEditorPane(); /传入字符串类型参数 /第四段代码 URL url=new URL(); JEditorPane jep=new JEditorPane(url); /传入URL类型参数,JEditorPane举例2,以下两段代码是等价的,它们创建的JEditorPane对象都展示变量text指定的HTML文档:,/第一段程序代码 String text=Hello World!;

6、 JEditorPane jep=new JEditorPane(text/html,text);,/第二段程序代码 String text=Hello World!; JEditorPane jep=new JEditorPane(); jep.setContentType(text/html); jep.setText(text);,JEditorPane中处理超链接,对于JEditorPane类展示的HTML页面,当用户选择页面上的超级链接时, 触发HyperlinkEvent事件, 由HyperlinkListener监听器负责处理。 JEditorPane的addHyperlinkL

7、istener()方法注册该监听器。 HyperlinkListener接口中声明了处理HyperlinkEvent事件的方法: public void hyperlinkUpdate(HyperlinkEvent evt),JEditorPane中处理超链接,hyperlinkUpdate()方法有一个HyperlinkEvent类型的参数。在该方法的实现中,可通过HyperlinkEvent参数的以下方法获得用户选择的超级链接以及事件类型: getURL():返回一个URL对象,表示用户在页面上选择的超级链接。 getEventType():返回一个HyperlinkEvent.Event

8、Type类的对象,表示具体的事件类型,可能的取值包括: (1)HyperlinkEvent.EventType.ACTIVATED:选择了超级链接。 (2)HyperlinkEvent.EventType.ENTERED:鼠标进入超级链接区域。 (3)HyperlinkEvent.EventType.EXITED:鼠标退出超级链接区域。,JEditorPane中处理超链接实例,以下hyperlinkUpdate()方法使得JEditorPane展示用户选择的超级链接: /* 处理用户选择超级链接事件 */ public void hyperlinkUpdate(HyperlinkEvent e

9、vt) try if(evt.getEventType()=HyperlinkEvent.EventType.ACTIVATED) jep.setPage(evt.getURL(); /使JEditorPane展示用户选择的超级链接 catch(Exception e) jep.setText(无法打开网页:+ evt.getURL().toString()+); ,JEditorPane处理表单,表单的处理由与JEditorPane对象关联的HTMLEditorKit对象控制 其setAutoFormSubmission(boolean isAuto)方法决定处理表单的方式: 如果参数isA

10、uto为true,就按自动方式提交表单,默认值 如果参数isAuto为false,那么按手工方式提交表单 手工提交的方式会触发一个javax.swing.text.html.FormSubmitEvent事件,也由HyperlinkListener监听器负责监听。,附录:InetAddress类的用法,简介,连接到Internet上的计算机节点称为主机 主机的标识由Internet地址或IP地址唯一标识 为便于记忆,产生域名系统DNS,将IP地址和主机名做映射 一台主机可以有多个主机名(域名) 一个名字可以映射多个IP地址 利用主机名访问Internet中的任何一台主机,需要本地域名服务器和其

11、他域名服务器的协作,InetAddress类,是Java对IP地址的高级表示 通常同时包括主机名和IP地址 在.*包中 用于大多数网络类中,是后继学习的基础,创建新的InetAddress对象,可利用InetAddress类的3个静态方法返回其对象,public static InetAddress InetAddress.getByName(String hostName) throws UnknownHostException /返回一个地址 public static InetAddress InetAddress.getAllByName(String hostName) throws UnknownHostException /返回地址组 public static InetAddress InetAddress.getLocalHost() throws UnknownHostException /本地机IP地址,说明:,参数hostName的形式: 网址,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论