基于java的浏览器的设计与实现——GUI界面子系统摘要21世纪人们对互联网的依赖越来越大,而网页浏览器作为上网浏览信息所必需的软件之一,已经得到了广泛地应用。
在IE占据了大部分浏览器市场的情况下,国内外开发商依然没有放弃这个巨大的市场,各式各样的浏览器被开发出来抢占市场。
网页浏览器的开发与应用已成为了计算机领域近年来的一大热点。
本文用软件工程的开发过程,详细论述了浏览器的分析、设计及代码实现,最终实现一个具有能同时浏览多个网页,可查看收藏夹,可以实现打开网页,超链接监听并响应,前进和后退等基本功能的浏览器。
本文以一个实际运作的浏览器Browser为主轴介绍浏览器的设计理念与方法,同时讲述浏览器中各个模块如何互相协同运作,来完成一个呈现网页的工作。
通过下载JDIC类库,实现了浏览器选项卡,从而达成了一个窗口显示多个网页的目的。
收藏夹的实现是将收藏夹集合序列化到数据文件中,这样收藏夹被持久化解决了收藏夹的问题。
另外,Java Swing技术也是本文介绍的浏览器所使用的一种主要的技术,通过使用各个组件,并增加监听器和事件处理等操作,最终形成一个具有一定事物处理能力的浏览器的界面部分。
关键词:浏览器,JDIC类库,Java Swing,事件Based on the design and implementation of a Java browserAbstractIn the 21st 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 didn't give up the huge market at home and abroad, developed a 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 ultimately 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 method 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 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, through 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 引言 .................................................. 错误!未定义书签。
1.1 研究课题的目的和意义 .. (1)1.2 国内外研究现状及发展趋势 (1)1.3 本课题实现的目标 (2)2 程序开发的基础 (3)2.1 Java技术 (3)2.1.1 Java概述 (3)2.1.2 Java平台简介 (3)2.1.3 JDIC项目简介 (4)2.2 GUI技术简介 (4)2.2.1 GUI的概述 (4)2.2.2 Swing 的概述 (5)2.2.3 Swing 的特点 (5)2.3 开发环境 (6)3 系统的总体分析 ........................................ 错误!未定义书签。
3.1 需求分析 .. (7)3.2 系统结构与设计分析 (7)3.2.1 响应模式 (7)3.2.2 结构分析 (8)3.3 功能结构图 (8)4 系统功能与实现 (9)4.1 核心技术 (9)4.1.1 JDIC项目实现浏览器组件 (9)4.1.2 收藏夹的保存与装载 (10)4.1.3阻止IE打开弹出窗口 (10)4.2 菜单栏的实现 (10)4.2.1 文件菜单 (10)4.2.2 转到菜单 (11)4.2.3 调整菜单 (12)4.3 工具栏的实现 (12)4.4 地址栏的实现 (13)4.5 浏览器选项卡的实现 (14)4.5.1 继承扩展浏览器组件 (14)4.5.2 编写浏览器面板 (14)4.5.3 编写浏览器选项卡面板 (15)4.5.4 编写浏览器组件监听器 (15)4.6 收藏夹的实现 (15)4.6.1 添加到收藏夹 (15)4.6.2 整理收藏夹 (16)5 测试 (17)5.1 测试与调试的基本概念 (17)5.2 测试时间 (17)5.3 软件测试的内容 (18)6 结论 (24)参考文献 (25)致谢 (26)1 引言1.1 研究课题的目的和意义当前,信息化浪潮正在全球范围内兴起,一个以计算机网络为核心的信息时代正向我们走来。
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,从而倍受人们的重视,而互联网上信息的查找又要通过浏览器的浏览来实现,所以本文通过对当下流行的浏览器的模拟设计和实现来让大家对网络及网络资源的认识,以及浏览器的各个功能的实现有一个大概的认识[1]。
浏览器是一个基于C/S架构的应用软件,其最基本的功能,就是能够将因特网上的众多资源,例如网页上的内容与信息或是在线服务等,呈现给使用者并让使用者得以使用存在于因特网上的各项服务。
因此透过网络传输数据对浏览器来说,是相当重要且必备的一项能力。
浏览器作为重要的系统应用软件是不可或缺的。
但目前,浏览器产品的市场被少数国外大公司垄断,众多的小型浏览器也尚处于发展期,而国内的自主技术的浏览器更屈指可数,刚刚进入实用阶段。
迫切需要更多的人来关注浏览器技术,开发中国自主知识产权的浏览器产品。
1.2 国内外研究现状及发展趋势常见的桌面浏览器有微软的Internet Explorer,网景的Netscape,开放源码的Mozilla FireFox,以及opera,mosaic,Hotjava,字符模式的lynx等。
其中IE,Opera已有嵌入式版本,以上的大多数浏览器均有跨多平台的版本。
这些桌面型浏览器功能参差不齐,但大多都能实现基本的浏览功能。
其中IE与Netscape对HTML页面的显示效果均堪称完美。
与完美的浏览效果,功能丰富,支持多种媒体格式和视音频插件等优点形成对立的是,这些浏览器庞大的体积和对机器配置的高要求;这也是桌面浏览器和嵌入式浏览器最大的区别。
另外,桌面型浏览器通常是基于通用的操作系统,用于桌面电脑如PC机、MAC机等;而嵌入式浏览器通常基于专用系统。
需要指出的是,在网上常看到的一些浏览器,如Netcaptor,魔装网神,腾讯,飓风,Fantasia,金山WPS office的浏览器等等,均为使用IE内核的浏览器,使用了多页面多线程的方式,降低了系统资源的耗费,方便了浏览,但软件本身没有使用多少技术,可以用Delphi,VB等工具轻易开发出来(如果不要求完善的功能,只需简单到拖一个IE控件过去就行了),这也体现了微软的COM+及ActiveX技术的强大。
1.3 本课题实现的目标本项目是网页浏览器,包括五个部分,菜单栏模块,工具栏模块,地址栏模块,浏览器选项卡模块以及收藏夹模块。
1. 菜单栏模块内容包括文件菜单,转到菜单,调整菜单和收藏夹菜单。
主要是通过菜单栏的操作实现网页的前进,后退,停止,刷新和转到功能,还包括收藏夹的新建与整理。
2. 工具栏的功能则是实现常用的操作,通过点击工具图标来实现菜单栏中所有的操作。
3. 地址栏模块则用来接收用户输入的网站地址,然后将该地址传给浏览器组件,呈现指定的网页。
4. 浏览器选项卡模块实现在同一个窗体中显示多个页面。