ImageVerifierCode 换一换
格式:DOC , 页数:33 ,大小:613.04KB ,
资源ID:4884825      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4884825.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(基于java的浏览器的设计与实现.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于java的浏览器的设计与实现.doc

1、基于java的浏览器的设计与实现GUI界面子系统摘 要21世纪人们对互联网的依赖越来越大,而网页浏览器作为上网浏览信息所必需的软件之一,已经得到了广泛地应用。在IE占据了大部分浏览器市场的情况下,国内外开发商依然没有放弃这个巨大的市场,各式各样的浏览器被开发出来抢占市场。网页浏览器的开发与应用已成为了计算机领域近年来的一大热点。本文用软件工程的开发过程,详细论述了浏览器的分析、设计及代码实现,最终实现一个具有能同时浏览多个网页,可查看收藏夹,可以实现打开网页,超链接监听并响应,前进和后退等基本功能的浏览器。 本文以一个实际运作的浏览器Browser为主轴介绍浏览器的设计理念与方法,同时讲述浏览

2、器中各个模块如何互相协同运作,来完成一个呈现网页的工作。通过下载JDIC类库,实现了浏览器选项卡,从而达成了一个窗口显示多个网页的目的。收藏夹的实现是将收藏夹集合序列化到数据文件中,这样收藏夹被持久化解决了收藏夹的问题。另外,Java Swing技术也是本文介绍的浏览器所使用的一种主要的技术,通过使用各个组件,并增加监听器和事件处理等操作,最终形成一个具有一定事物处理能力的浏览器的界面部分。关键词:浏览器,JDIC类库,Java Swing,事件Based on the design and implementation of a Java browserAbstractIn the 21st

3、 century, people rely on the Internet is more and more big, the web browser as one of the necessary software, surfing the Internet information has been widely used. In the case of occupying most of the IE browser market, developers still didnt give up the huge market at home and abroad, developed a

4、variety of browser is preempted market. The development and application of web browser has become a focus in the computer field in recent years.In the development process of software engineering, this paper detailed discusses the analysis, design and code implementation of the browser, and ultimatel

5、y achieve a have to browse multiple web pages at the same time, to view the favorites, can realize open a webpage, hyperlinks to monitor and respond to, the basic function such as forward and backward in the browser. Based on an actual operation of the Browser Browser Browser design concept and meth

6、od of introduction for main shaft, various modules tells the Browser how to work together with each other at the same time, to finish the work of a rendered page. By downloading the JDIC class library, the realization of the browser TAB, which reached the purpose of a window to display multiple web

7、pages. The realization of the favorites are favorites collection serialized into a data file, this collection double coverlet persistent solved the problem of the favorites. In addition, the Java Swing technology is also introduced in this paper by the browser using a kind of main technology, throug

8、h the use of the individual components, and adding listeners and event handling operations such as, eventually forming a certain things browser interface part of processing capacity.Keywords:The browser,The JDIC class library,Java Swing,The event目 录1 引言111 研究课题的目的和意义112 国内外研究现状及发展趋势113 本课题实现的目标22 程序

9、开发的基础321 Java技术32.1.1 Java概述32.1.2 Java平台简介32.1.3 JDIC项目简介422 GUI技术简介42.2.1 GUI的概述42.2.2 Swing 的概述52.2.3 Swing 的特点523 开发环境63 系统的总体分析731 需求分析732 系统结构与设计分析73.2.1 响应模式73.2.2 结构分析733 功能结构图84 系统功能与实现941 核心技术94.1.1 JDIC项目实现浏览器组件94.1.2 收藏夹的保存与装载104.1.3阻止IE打开弹出窗口1042 菜单栏的实现10第 页 共 页4.2.1 文件菜单104.2.2 转到菜单114

10、.2.3 调整菜单1243 工具栏的实现1244 地址栏的实现1345 浏览器选项卡的实现144.5.1 继承扩展浏览器组件144.5.2 编写浏览器面板144.5.3 编写浏览器选项卡面板154.5.4 编写浏览器组件监听器1546 收藏夹的实现154.6.1 添加到收藏夹154.6.2 整理收藏夹165 测试1751 测试与调试的基本概念1752 测试时间1753 软件测试的内容186 结论24参考文献25致谢26第 页 共 页1 引言11 研究课题的目的和意义当前,信息化浪潮正在全球范围内兴起,一个以计算机网络为核心的信息时代正向我们走来。在Internet飞速发展的今天,互联网成为人们

11、快速获取、发布和传递信息的重要渠道,从而倍受人们的重视,而互联网上信息的查找又要通过浏览器的浏览来实现,所以本文通过对当下流行的浏览器的模拟设计和实现来让大家对网络及网络资源的认识,以及浏览器的各个功能的实现有一个大概的认识1。浏览器是一个基于C/S架构的应用软件,其最基本的功能,就是能够将因特网上的众多资源,例如网页上的内容与信息或是在线服务等,呈现给使用者并让使用者得以使用存在于因特网上的各项服务。因此透过网络传输数据对浏览器来说,是相当重要且必备的一项能力。浏览器作为重要的系统应用软件是不可或缺的。但目前,浏览器产品的市场被少数国外大公司垄断,众多的小型浏览器也尚处于发展期,而国内的自主

12、技术的浏览器更屈指可数,刚刚进入实用阶段。迫切需要更多的人来关注浏览器技术,开发中国自主知识产权的浏览器产品。12 国内外研究现状及发展趋势常见的桌面浏览器有微软的Internet Explorer,网景的Netscape,开放源码的Mozilla FireFox,以及opera,mosaic,Hotjava,字符模式的lynx等。其中IE,Opera已有嵌入式版本,以上的大多数浏览器均有跨多平台的版本。这些桌面型浏览器功能参差不齐,但大多都能实现基本的浏览功能。其中IE与Netscape对HTML页面的显示效果均堪称完美。与完美的浏览效果,功能丰富,支持多种媒体格式和视音频插件等优点形成对立

13、的是,这些浏览器庞大的体积和对机器配置的高要求;这也是桌面浏览器和嵌入式浏览器最大的区别。另外,桌面型浏览器通常是基于通用的操作系统,用于桌面电脑如PC机、MAC机等;而嵌入式浏览器通常基于专用系统。需要指出的是,在网上常看到的一些浏览器,如Netcaptor,魔装网神,腾讯,飓风,Fantasia,金山WPS office的浏览器等等,均为使用IE内核的浏览器,使用了多页面多线程的方式,降低了系统资源的耗费,方便了浏览,但软件本身没有使用多少技术,可以用Delphi,VB等工具轻易开发出来(如果不要求完善的功能,只需简单到拖一个IE控件过去就行了),这也体现了微软的COM+及ActiveX技

14、术的强大。13 本课题实现的目标本项目是网页浏览器,包括五个部分,菜单栏模块,工具栏模块,地址栏模块,浏览器选项卡模块以及收藏夹模块。1. 菜单栏模块内容包括文件菜单,转到菜单,调整菜单和收藏夹菜单。主要是通过菜单栏的操作实现网页的前进,后退,停止,刷新和转到功能,还包括收藏夹的新建与整理。2. 工具栏的功能则是实现常用的操作,通过点击工具图标来实现菜单栏中所有的操作。3. 地址栏模块则用来接收用户输入的网站地址,然后将该地址传给浏览器组件,呈现指定的网页。4. 浏览器选项卡模块实现在同一个窗体中显示多个页面。5. 收藏夹模块是本设计中最重要的一部分,包括整理收藏夹菜单和添加收藏夹菜单,可在程

15、序运行的过程中根据用户保存的内容,填充收藏夹的内容,且在网页浏览器重新启动的情况下依旧保留有上次保存的网页。2 程序开发的基础21 Java技术2.1.1 Java概述Java是一个广泛使用的编程语言,它基于Java虚拟机技术,从而实现跨平台。它简单,面向对象,不依赖与机器的结构,具有可移植性,安全性,并且提供了并发的机制,具有很高的性能。其次,它最大限度的利用了网络,Java的小应用程序(applet)可在网络上传输而不受CPU和环境的限制,另外,Java还提供了丰富的类库,使程序设计者可以很方便地建立自己的系统2。Java平台是一种纯软件平台,它有三个版本Java SE、JavaEE、Ja

16、va ME。JavaSE允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序。Java SE还包含了支持Java Web服务开发的类,并为Java EE这个版本提供基础。JavaEE下有很多流行的开发框架,像Struts、Spring、Hibernate这种流行的所谓SSH组合等。JavaME应用领域像各种移动设备和嵌入式设备,比如:手机、PDA、电视机顶盒和打印机。 2.1.2 Java平台简介Java平台版本 Java平台版本主要有:J2EE(企业版本)、J2SE(标准版本)、J2ME(迷你版本)。这三个版本有不同的用途,J2EE主要用于分布式的网络程序的开发,如电

17、子商务网站和ERP系统;J2SE主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程3。 Java平台的组成 Java平台主要是由一个compiler(编译器),一个运行环境(runtime environment),和一个核心的API组成。 1. JVM(Java虚拟机):Java程序并不是直接在本地机器的操作系统上执行,而是通过JVM解释成本地的机器语言,其优点是可以保证Java代码在Windows、Linux、Solaris等操作系统上的移植性,其代价是执行速度比C代码要慢。考虑到软件越来越庞大,而计算机硬件性能越来越快,而且WEB应用的发展,其代价是可接受

18、的4。 2. JDK(Java Development Kit):Java平台开发包;JSDK(Java 2 Software Development Kit):Java 2平台开发包。目前普遍采用J2SDK。 3. JRE(Java Runtime Environment):Java运行环境,一般情况下已集成到J2SDK中,但如果用户只是执行Java程序,而不进行Java代码的开发,则只需安装JRE。 Java环境变量的设置 安装完J2SDK之后,需要设置环境变量,方法如下:控制面板 高级设置 环境变量 系统变量 path里添加一个路径。这个路径是安装J2SDK的bin文件夹的路径。2.1.

19、3 JDIC项目简介JDesktop Integration Components,或JDIC,是一个给Java开发人员提供通过交差平台API存取本地特性的包罗万象的项目。该项目由Sun的Desktop组启动,目的是让Java应用能更好地和它们所运行的桌面环境集成5。为了能从开发人员那里得到想要的特性的快速反馈,他们将JDIC做成了开源项目。尽管目前没有计划,但JDIC团队正考虑把JDIC的特征加入Java核心类库的未来版本中去。JDIC分为五个部分和一个孵化中的项目:桌面:为了打开、编辑和用email邮寄文件来打开桌面程序;文件类型:设置桌面文件类型关联; 浏览器:在AWT画布上嵌入本地浏览

20、器(Internet Explorer或者Mozilla);包装器:把Java Web Start程序转换成本地安装程序的命令行工具;托盘API:支持系统托盘图标和弹出式菜单;SaverBeans:Java中的系统屏幕保护。22 GUI技术简介2.2.1 GUI的概述GUI(Graphics User Interface)是指图形用户接口,当Java在1995年的春天第一次发布的时候,它包含了一个叫AWT(Abstract Windowing Toolkit)的库,用来构建图形用户界面应用程序。Java很有雄心的宣言write once, run anywhere许诺:一个具有下拉菜单,命令按

21、钮,滚动条以及其他常见的GUI控件的应用程序将能够在各种操作系统上运行而不必重新编译成针对某一平台的二进制代码,包括Microsoft Windows, Suns own Solaris, Apples Mac OS以及Linux。 虽然最初Java是支持操作系统独立的应用程序开发,在Java提出write once, run anywhere宣言那段时间的革命导致了Java applet和主导桌面应用程序计划的产生。尽管从那以后大部分构建桌面应用程序的成就都慢慢衰退,Java构建图形用户界面的能力反倒增强了。跟踪Java GUI的发展和演化,我们将发现3个主要的构建窗口程序库:AWT,Swi

22、ng和SWT(Standard Widget Toolkit)。在本系统中,主要采用的是Swing。2.2.2 Swing 的概述Swing 是SUN 公司退出的第二代图形用户接口工具包,通过Swing 可以开发出功能强大,界面优美的客户应用程序。Swing 不但提供了很多功能完善的控件,而且其还具有良好的扩展能力,用Swing来进行交互界面的开发是一件另开发人员非常愉快的工作。Swing从诞生到现在大致经历了如下几个阶段。Swing 项目是从1996年底开始的,在项目开始的同时所有的参与者共同选定了这个名称,目的就是开发一个不依赖于本地系统的图形用户接口工具包。1997年后半年Swing进入

23、测试阶段,并在1998年春随同JDK1.1首次发行,对于JDK1.1之前的版本,是不能使用Swing库的。Swing从首次发行开始,就不断快速的成长,自JDK1.2之后,便被完全集成到了java的标准类库中,成为java基础类库(JFC)大家族中一个重要组成部分。2.2.3 Swing 的特点Swing的特点主要包括完全轻量级的控件、可插拔的感观风格、更多的控件扩展3个方面。完全轻量级的控件:几乎所有的Swing控件都是轻量级的、纯java开发的,这样在控件对自己进行绘制时就不会依赖本地操作系统平台的对等控件,而是使用绘制图形的基本元素直接通过java平台在屏幕上进行绘制,这样就避免了早期不是

24、使用轻量级控件的java图形用户界面程序在不同的操作系统中运行时有不同的外观,切换操作系统后显示不正常等问题6。可插拔的感观风格:Swing在界面显示上很吸引人的一点就是支持可插拔的感观风格,主要包含以下几个方面:Swing能够模拟各种不同操作系统的感观风格,其类库中就包含了Windows,Unix Motif,Linux GTK,Mac OS X以及Java Metal等感观风格。如果有需要,开发人员还可以通过系统提供的接口编写自定义的感观风格。Swing还允许用户在不关闭应用程序的情况下,在各种感观风格之间进行自由切换。系统自带的Java Metal感观风格合并了众多风格中最好的图形元素,

25、甚至增加了一些属于其自己的特性。现在的Metal感观风格支持多种不同的主题,各主题之间在颜色和字体等方面都有所不同,用户如果有需要,还可以开发自己的主题。更多的控件扩展:Swing中增加了许多新的控件并且为每个控件都增加了工具提示的功能,同时Swing还支持任意数量嵌套边框的镶边替代物,并且可以任意的将键盘事件绑定到控件中。23 开发环境以下版本是本次使用:操作系统: Windows XPJava虚拟机: JDK1.6开发工具: MyEclipse5.53 系统的总体分析31 需求分析本模块要实现的功能模块包括:菜单栏模块,工具栏模块,地址栏模块,浏览器选项卡模块以及收藏夹模块。1.菜单栏模块

26、内容包括文件菜单,转到菜单,调整菜单和收藏夹菜单。主要是通过菜单栏的操作实现网页的前进,后退,停止,刷新和转到功能,还包括收藏夹的新建与整理。2.工具栏的功能则是实现常用的操作,通过点击工具图标来实现菜单栏中所有的操作。3.地址栏模块则用来接收用户输入的网站地址,然后将该地址传给浏览器组件,呈现指定的网页。4.浏览器选项卡模块实现在同一个窗体中显示多个页面。5.收藏夹模块是本设计中最重要的一部分,包括整理收藏夹菜单和添加收藏夹菜单,可在程序运行的过程中根据用户保存的内容,填充收藏夹的内容,且在网页浏览器重新启动的情况下依旧保留有上次保存的网页。32 系统结构与设计分析3.2.1 响应模式用户在

27、地址栏输入一个URL,单击“转到”按钮,请求发出,浏览器内核进行读取识别,并通过特征提取模块进行特征比对,按照网页分类算法对网页类别库中的网页中符合的网页提取出来返回给用户。用户 wwwIE内核网页类别库特征提取模块网页分类算法图3-1 响应模式3.2.2 结构分析本模块设计的浏览器,有菜单栏,工具栏,地址栏,页面显示区,收藏夹。它的主要特点有:1. 基于IE内核,采用多窗口多线程工作方式,节约了系统资源,稳定性好,不会像那样因打开多窗口而使系统速度缓慢,甚至出现“程序没有相应“等现象。2. 对网页自动分类,这是它的特点。当用户在浏览网页进入一个从未到过的网站时,很容易导致迷航,用户先阅读网页

28、才能判定该网页是否是自己所感兴趣的网页。这样,用户把大量时间和精力花费在不必要的网页上,分散了用户的注意力。3. 提供类别导航功能。它将已分类的网站地址置入各类别中,用户可以根据自己感兴趣的主题进行访问和浏览。类别的跟新,修改,添加等维护一般由系统进行,也可由用户自己手动维护。系统可以根据类别的更改而自行调整系统的分类结果。33 功能结构图以下是本模块的功能结构图:网页浏览器功能模块浏览器操纵收藏夹前进后退停止刷新转到添加收藏夹整理收藏夹主页创建文件夹选择收藏夹节 添加创建文件夹 重命名 移动到 删除图3-2 功能结构4 系统功能与实现浏览器的窗体是程序的主界面,它包括浏览指定的网站,收藏网站

29、信息等业务。主要由菜单栏,工具栏,地址栏,浏览器选项卡和状态栏组成。41 核心技术4.1.1 JDIC项目实现浏览器组件浏览器组件API可以让你访问几个浏览器事件以及在历史记录上的控制(向前,后退,刷新)7。未来修订的API版本希望能提供更多存取浏览器和任意装载的文档的功能。在你的应用里使用浏览器组件实在是非常容易:import org.jdesktop.jdic.browser.*;import .*;import javax.swing.*;public class BrowserTest public static void main(String args) throws Except

30、ion WebBrowser browser = new WebBrowser(); browser.setURL(new URL(); JFrame frame = new JFrame(Browser Test); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(browser); frame.pack(); frame.setSize(500,500); frame.setVisible(true); 正如你所看到的那样,WebBrowser对象仅仅是一个你可以把它放入一个标

31、准的Jframe中的AWT组件。Main方法的第一行创建了一个新的WebBrowser,第二行设置了你想显示的URL。其他的代码创建了一个frame,把浏览器加入其中,并使得frame可见记住WebBrowser是个本地AWT组件,因此你可能陷入与Swing结合的困境。混合它们的两个规则是 1)不要让Swing和AWT组件重叠和 2)在你的菜单上调用setLightWeightPopupEnabled(false)否则它们将消失在浏览器组件后边。4.1.2 收藏夹的保存与装载收藏夹模块的功能可以将正在浏览的网址添加到收藏夹中,并且提供分类,通常的做法是将收藏夹的内容存放在集合类中,如果程序关闭

32、,收藏夹的内容和分类将丢失,因为它们没有被持久化。将收藏夹持久化的方法有两种:持久化到数据库可以将收藏夹内容全部保存到数据库中,在程序关闭时,收藏夹的内容保存在数据库而不在内存中,这样可以避免数据丢失,在程序下次启动的时候,可以从数据库中读取收藏夹内容从新显示。持久化到文件中另一种方法将收藏夹的内容保存到一个数据文件中,例如”favorite.data”,这种方法保存收藏夹数据可以节省访问数据库的开销,也可以随浏览器模块一同发布,既方便又节省资源。4.1.3阻止IE打开弹出窗口使用WebBrowser组件编写的浏览器模块,可以在本窗口中浏览各种信息,可以通过超级链接访问其他网页,如果某个超级连

33、接要在新的窗体中打开网页,那么这个网页会默认使用IE或操作系统默认的浏览器打开,这就破坏了模块的外观,使本模块处于可有可无的状态8。因此必须拦截这些需要在新窗体显示的网页信息,本模块继承了WebBrowser组件实现了浏览器组件的Browser类,它重写了父类的willOpenWindow()方法,在有需要显示在新窗体的网页信息时,该方法会创建新的选项卡显示这个网页。42 菜单栏的实现浏览器模块的菜单栏几乎容纳了所有功能的操作连接,它用于整个浏览器模块的导航,快速方便的执行浏览操作,例如前进,后退,刷新等。4.2.1 文件菜单文件菜单包括”设置主页”,”打印”,”退出”3个菜单项,其中”设置主

34、页”将用户输入的网址信息创建为URL对象。如果创建URL对象时抛出异常,说明URL格式不标准,将以对话框的形式提示用户URL格式非法,当输入格式正确时,程序将URL对象序列化到收藏夹得数据文件中。单击打印菜单时,将调用工具栏上”打印”按钮的doClick()方法,执行按钮的鼠标单击操作,程序会执行按钮的时间处理代码。单击菜单栏的“退出”菜单项时,菜单项的事件监听器将调用业务方法完成退出命令。在业务方法中执行了System类的exit()方法退出Java虚拟机,从而终止程序运行。4.2.2 转到菜单转到菜单包含了浏览器的控制命令,这些命令包括”主页”,”前进”后退”停止”刷新”。这些控制命令,在

35、菜单栏中也提供了相应的操作按钮,为减少代码重复,本模块在这些菜单栏的事件处理中直接调用工具栏相应按钮的doClick()方法,执行按钮的业务代码。/ 停止菜单项的业务private void stopMenuItemActionPerformed(java.awt.event.ActionEvent evt) stopButton.doClick(); / 执行停止按钮的单击方法/ 刷新菜单项的业务方法private void refreshMenuItemActionPerformed(java.awt.event.ActionEvent evt) refreshButton.doClick

36、(); / 执行刷新按钮的单击方法/ 后退菜单项的业务方法private void backMenuItemActionPerformed(java.awt.event.ActionEvent evt) backButton.doClick(); / 执行后退按钮的单击方法/ 前进菜单项的业务方法private void forwardMenuItemActionPerformed(java.awt.event.ActionEvent evt) forwardButton.doClick(); / 执行前进按钮的单击方法/ 打印菜单项的业务方法private void printMenuIte

37、mActionPerformed(java.awt.event.ActionEvent evt) printButton.doClick(); / 执行主页按钮的单击方法4.2.3 调整菜单本模块的网页浏览器部分布置在一个选项卡组件中,选项卡的标签名称为网页的标题命名,这样用户可以创建多个选项卡浏览更多的网站。43 工具栏的实现工具栏用于执行常用的操作,网页浏览器模块的控制命令使用最频繁,因此将浏览器的控制命令提取到工具栏中。工具栏上的每个按钮都设置了文本提示,每个按钮都添加了单独的事件监听器,在不同的事件监听器中调用处理该按钮业务的方法9。编写各个按钮的事物处理方法,这些业务处理方法被不同按

38、钮的事件监听器调用。浏览器的控制按钮的业务逻辑,基本通过调用Browser浏览器组件的方法实现,例如print()方法可以执行打印任务, / 后退按钮的事件处理方法private void backButtonActionPerformed(java.awt.event.ActionEvent evt) Browser browser = getSelBrowser();if (browser.isBackEnabled() / 如果后退操作可行browser.back(); / 执行后退/ 停止按钮的事件处理方法private void stopButtonActionPerformed(j

39、ava.awt.event.ActionEvent evt) Browser browser = getSelBrowser();browser.stop(); / 执行停止操作/ 前进按钮的事件处理方法private void forwardButtonActionPerformed(java.awt.event.ActionEvent evt) Browser browser = getSelBrowser();if (browser.isForwardEnabled() / 如果前进操作可行browser.forward(); / 执行前进操作/ 刷新按钮的事件处理方法private v

40、oid refreshButtonActionPerformed(java.awt.event.ActionEvent evt) Browser browser = getSelBrowser();browser.refresh(); / 执行刷新操作/ 主页按钮的事件处理方法private void homePageButtonActionPerformed(java.awt.event.ActionEvent evt) Browser browser = getSelBrowser();browser.setURL(homePage); / 设置浏览器当前网址44 地址栏的实现地址栏是网页

41、浏览器的重要功能,它接收用户输入的将要访问的网站地址,然后将该地址传送给浏览器组件,呈现指定的网页内容。网页浏览器模块的地址栏包含输入网站URL地址的文本框和一个执行浏览业务的“转到”按钮。当用户在地址栏的地址文本框输入网站地址并单击右侧的“转到”按钮时,它下面的浏览器选项卡将创建一个新的选项卡,并在选项卡中放置一个浏览器组件显示新的网页内容10。jLabel1.setText(地址:);/ 地址标签addressBar.add(jLabel1, BorderLayout.WEST);/ 添加标签到地址栏address.setText(http:/);/ 设置地址文本框内容addressBar

42、.add(address, BorderLayout.CENTER);/ 添加地址文本框到地址栏goButton.setText(转到);/ 设置转到按的文本goButton.setFocusable(false);goButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);goButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);/ 添加转到按钮的事件监听器,当单击转到按钮时,执行业务方法goButton.addActionListen

43、er(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) goButtonActionPerformed(evt);/ 调用转到按钮的业务方法);addressBar.add(goButton, BorderLayout.EAST);/ 添加转到按钮到地址栏45 浏览器选项卡的实现以前的浏览器都是单个窗体的软件,在每次需要同时浏览不同的网站或者在新窗口显示网页的情况下,都需要重新启动或弹出一个浏览器软件来显示指定的网页内容。因此本模块使用浏览器面板作为所有

44、浏览器组件的容器:4.5.1 继承扩展浏览器组件由于网页的超级链接或JavaScript脚本可以在新的浏览器窗口中显示内容,而新建立的浏览器窗体会使用默认的浏览器打开网页,因此本模块必须继承WebBrowser类来编写自己的浏览器组件类Browser11。这样就可以重写父类的willOpenWindow()方法拦截弹出新窗体显示网页内容的事件,然后再该方法中使用自己的事件,在选项卡面板中创建浏览器组件显示网页。4.5.2 编写浏览器面板将扩展的Browser浏览器组件封装在一个面板中实现浏览器面板,这个面板将被添加到存放浏览器的选项卡面板中.浏览器面板添加了Browser浏览器组件的实例对象,

45、并且为浏览器组件添加了事件监听器12。 4.5.3 编写浏览器选项卡面板本模块的选项卡面板用于存放浏览器组件,使浏览器支持选项卡界面创建选项卡时为面板添加鼠标单击事件,在用户单击选项卡的标签时执行业务方法。另外,还设置了选项卡面板的模型对象,包括选项卡的选择事件的处理方法。CreateBrowser()和getSelBrowser()方法分别用于在选项卡面板创建浏览器面板和获取当前选择的面板中的浏览器组件实例13。本模块使用JDIC类库来实现浏览器界面,该类库可以从4.5.4 编写浏览器组件监听器在编写浏览器面板组件时,在面板中创建了浏览器组件,同时也为该组件添加了事件监听器14。46 收藏夹的实现收藏夹是浏览器不可缺少的功能,它记录上网时常用的,经典的网站地址。4.6.1 添加到收藏夹在浏览器模块的主窗体上单击”收藏夹”/”添加到收藏夹”菜单项,将启动添加收藏夹功能,该功能能将当前浏览器访问的网站地址添加到收藏夹中,日后可以从收藏夹中直接选择浏览器指定的网址。添加

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服