网页浏览器的开发Word格式文档下载.docx
- 文档编号:18113683
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:30
- 大小:346.46KB
网页浏览器的开发Word格式文档下载.docx
《网页浏览器的开发Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网页浏览器的开发Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
1.课程设计报告
2.课程设计软件
五、进程安排
布置任务,查找资料、需求分析1天
总体设计1天
详细设计1.5天
编制源程序实现3.5天
测试与修改1天
撰写课设报告2天
六、主要参考资料
[1]张广彬.Java课程设计案例精编(第二版).北京:
清华大学出版社,2011.
[2]耿祥义.Java课程设计(第二版).北京:
清华大学出版社,2008.
[3]耿祥义.JAVA大学实用教程.北京:
[4]邹林达.陈国君Java2程序设计基础.北京:
清华大学出版社,2010.
[5]邹林达.Java2程序设计基础实验指导.北京:
清华大学,2010.
指导教师(签名):
20年月日
1需求与总体设计
1.1需求分析
随着科学技术的发展,我们已进入信息化时代,互联网在全球的应用越来越广泛,它已深入到我们学习生活的各个方面。
为了适应时代的发展,本次课程设计的主要任务是制作一个网页浏览器并完成一些基本操作。
系统使用Eclipse与JDK1.6工具,操作系统为WINDOWS,采用面向对象方法完成,包括总体设计、详细设计、编码实现、测试。
主要功能描述:
通过在地址栏里面输入URL地址,可以访问相应的网页,同时也具有以下几个功能:
(1)网页另存为:
可以将正在访问的页面进行保存。
(2)网页前进:
访问现有页面的上一个页面。
(3)网页后退:
访问现有页面的下一个页面。
(4)查看当前网页源文件:
查看访问页面的HTML源文件,并且提供保存功能。
1.2总体设计思路
网页浏览器的程序由两个文件组成。
其中一个的主要功能为生成网页浏览器的主体框架,实现框架上各个组件的事件侦听。
主要包括4个模块:
图形用户界面的构建:
组件监听接口的实现:
文件保存功能的实现:
查看源代码框架的生成。
另一个的主要功能是实现了源文件查看的主体框架,并实现了源文件的保存功能。
主要包括两个模块:
组件监听接口的实现。
(1)界面实现部分
①实现生成网页浏览器的主体框架
②实现框架上各个组件的时间监听
③图形界面的设计
④组件监听接口的实现
(2)功能实现部分
①实现查看源文件的主体框架。
②实现源文件的保存功能,包括另存为即可以将正在访问的网页进行保存。
③前进即访问现有页面的上一个页面;
后退即访问现有页面的下一个页面。
④查看源文件功能即查看访问页面的HTML源文件代码。
1.3功能图
通过需求分析可得,此网页浏览器通过在地址栏里面输入URL地址,可以访问相应的网页在URL地址栏中输入网址,点击转向按钮,该浏览器可以自动转向所指地址页面,显示网页信息,实现浏览器的网页前进、后退,网页另存为,查看源文件刷新等基本功能。
网页浏览器的功能图如图1-1所示。
图1-1系统功能图
1.4类图
浏览器的类图包含了实现浏览器的两个类,即WebBrowser类和ViewSourceFrame类。
WebBrowser类包含成员变量url及函数WebBrowser()、actionPerformrd()、saveFile()
hyperlinkUpdate()、main();
ViewSourceFrame类包含的函数有ViewSourceFrame()、actionPerformrd()。
由以上描述画出类图如下图1-2所示。
图1-2类图
2详细设计
2.1详细设计思路
网页浏览器的程序由文件WebBrowser.java与ViewSourceFrame.java两个文件组成。
WebBrowser.java包含名为WebBrowser的public类,其主要功能为生成网页浏览器的主体框架,实现框架上各个组件的事件侦听。
图形用户界面的构建;
组件监听接口的实现;
文件保存功能的实现;
ViewSourceFrame.java包含名为ViewSourceFrame的类,其主要功能是实现了源文件查看的主体框架,并实现了源文件的保存功能。
系统流程图如图2-1所示。
图2-1系统流程图
2.2类图详细说明和细化
这个网页浏览器主要通过5个类实现以上各功能:
(1)WebBrowser类,该类生成网页浏览器主体框架,实现框架上各个组件的事件侦听,并初始化图形用户界面。
继承了JFrame类,这是实现这个简易浏览器各功能的最重要的类,是整个窗口的总框架。
该类中包含了JTextField、JCheckBox、JButton和JEditorPane生成的对象,enterField、editable、loadbt、backbt、aheadbt和contentsArea。
(2)JMenu类,该类建立菜单栏(JMenuBar)、菜单组(JMenu)、和菜单项(JMenuItem);
(3)JTextField类,JTextField是一个轻量级组件,它允许编辑单行文本,这个类实现网址的输入,并且在输完网址后按回车键可实现页面下载功能。
该功能的实现主要在于文本框的监视器ActionListener()。
(4)Jbutton类,创建一个文本、没有图标并且最初未被选定的复选框,在这个浏览器中,实现这三个按钮,“Load”、“Back”、“Ahead”,这三个按钮是该类的实例。
(5)JEditorPane类,创建可编辑区域。
JEditorPane继承JTextComponent类,可以使用JTextComponent抽象类里的方法。
JEditorPane最主要的功能在于展现不同类型文件合适的内容。
JEditorPane支持的文件类型有3种:
第一种是纯文本型,其表示法为text/plain;
第二种为RTF型,其表示法为text/rtf;
第三种是HTML类型,也就是本程序中所用到的类型,其表示法为text/html。
在本程序中主要运用JEditorPane.setPage()方法来显示指定页面。
用HyperlinkEvent事件,实现从当前也的超级链接访其他页面。
2.2.1具体方法实现
WebBrowser类包含WebBrowser()方法、actionPerformrd()方法、saveFile()方法、getHrmlSource()方法、main()方法、ViewSourceFrame()方法。
(1)WebBrowser()方法初始化图形用户,构造主体框架,为浏览器添加事件监听,为fileMenu设置热键,将菜单项加入菜单组中,并在工具栏中添加按钮组件,为组件添加事件监听
(2)actionPerformrd()方法实现组件监听器接口,输入地址可访问及浏览器的另存为、前进、后退、查看源文件、全屏、刷新功能的实现。
(3)saveFile()方法实现保存文件的功能,包括默认路经保存和另存为其他目录下。
(4)getHrmlSource()方法实现浏览器框架的监听器接口。
(5)main()方法为整个程序的主函数,不可缺少。
(6)ViewSourceFrame()方法初始化图形用户界面,实现网页浏览器中源文件浏览的主体框架,并提供了源文件的保存功能。
通过以上分析,得出WebBrowser文件类图,类图如图2-2所示。
图2-2WebBrowser类图
3编码实现
网页浏览器的程序编码实现如下,浏览器主要由WebBrowser.java和ViewSourceFrame.javaWebBrowser.java包含名为WebBrowser的public类,其主要功能为生成网页浏览器的主体框架,实现框架上各个组件的事件侦听。
3.1WebBrowser.java
WebBrowser.java文件中包含实现浏览器的主要类WebBrowser类,WebBrowser类生成浏览器的主体框架,并实现浏览器的主要功能。
(1)建立浏览去网页显示界面,建立工具栏,菜单栏并在工具栏和菜单栏添加按钮组件。
publicclassWebBrowserextendsJFrameimplementsHyperlinkListener,ActionListener{
//建立工具栏用来显示地址栏
JToolBarbar=newJToolBar();
//建立网页显示界面
JTextFieldjurl=newJTextField(60);
JEditorPanejEditorPane1=newJEditorPane();
JScrollPanescrollPane=newJScrollPane(jEditorPane1);
JFileChooserchooser=newJFileChooser();
JFileChooserchooser1=newJFileChooser();
StringhtmlSource;
JWindowwindow=newJWindow(WebBrowser.this);
JButtonbutton2=newJButton("
窗口还原"
);
Toolkittoolkit=Toolkit.getDefaultToolkit();
//建立菜单栏
JMenuBarjMenuBar1=newJMenuBar();
//建立菜单组
JMenufileMenu=newJMenu("
文件(F)"
//建立菜单项
JMenuItemsaveAsItem=newJMenuItem("
另存为(A)..."
JMenuItemexitItem=newJMenuItem("
退出(I)"
JMenueditMenu=newJMenu("
编辑(E)"
JMenuItembackItem=newJMenuItem("
后退"
JMenuItemforwardItem=newJMenuItem("
前进"
JMenuviewMenu=newJMenu("
视图(V)"
JMenuItemfullscreenItem=newJMenuItem("
全屏(U)"
JMenuItemsourceItem=newJMenuItem("
查看源码(C)"
JMenuItemreloadItem=newJMenuItem("
刷新(R)"
//建立工具栏
JToolBartoolBar=newJToolBar();
//建立工具栏中的按钮组件
JButtonpicSave=newJButton("
另存为"
JButtonpicBack=newJButton("
JButtonpicForward=newJButton("
JButtonpicView=newJButton("
查看源代码"
JButtonpicExit=newJButton("
退出"
JLabellabel=newJLabel("
地址"
JButtonbutton=newJButton("
转向"
Boxadress=Box.createHorizontalBox();
//ArrayList对象,用来存放历史地址
privateArrayListhistory=newArrayList();
//整型变量,表示历史地址的访问顺序
privateinthistoryIndex;
/**
**构造函数
**初始化图形用户界面
*/
publicWebBrowser(){
setTitle("
网页浏览器"
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//为jEditorPane1添加事件侦听
jEditorPane1.addHyperlinkListener(this);
//为组件fileMenu设置热键‘F’
fileMenu.setMnemonic('
F'
saveAsItem.setMnemonic('
S'
//为“另存为”组件设置快捷键为ctrl+s
saveAsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
exitItem.setMnemonic('
Q'
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));
//将菜单项saveAsItem加入到菜单组fileMenu中
fileMenu.add(saveAsItem);
//在菜单项中添加隔离
fileMenu.addSeparator();
fileMenu.add(exitItem);
backItem.setMnemonic('
B'
backItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
forwardItem.setMnemonic('
D'
forwardItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
editMenu.setMnemonic('
E'
editMenu.add(backItem);
editMenu.add(forwardItem);
viewMenu.setMnemonic('
V'
fullscreenItem.setMnemonic('
U'
fullscreenItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
sourceItem.setMnemonic('
C'
sourceItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
reloadItem.setMnemonic('
R'
reloadItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,InputEvent.CTRL_MASK));
ContainercontentPane=getContentPane();
//设置大小
scrollPane.setPreferredSize(newDimension(100,500));
contentPane.add(scrollPane,BorderLayout.SOUTH);
//在工具栏中添加按钮组件
toolBar.add(picSave);
toolBar.addSeparator();
toolBar.add(picBack);
toolBar.add(picForward);
toolBar.add(picView);
toolBar.add(picExit);
(2)初始化图形用户界面
publicWebBrowser(){
}
(3)实现监听器接口的actionPerformed函数
publicvoidactionPerformed(ActionEvente){
Stringurl="
"
;
//点击转向按钮
if(e.getSource()==button){
//获得地址栏的内容
url=jurl.getText();
//url不为“”,并且以“http:
//”开头
if(url.length()>
0&
&
url.startsWith("
http:
//"
)){
try{
//JEditorPane组件显示url的内容链接
jEditorPane1.setPage(url);
//将url的内容添加到ArrayList对象history中
history.add(url);
//historyIndex的数值设为history对象的长度-1
historyIndex=history.size()-1;
//重新布局
jEditorPane1.setEditable(false);
//addbycopyeditor:
)
jEditorPane1.revalidate();
}
catch(Exceptionex){
//如果链接显示失败,则弹出选择对话框“无法打开该搜索页”
JOptionPane.showMessageDialog(WebBrowser.this,"
无法打开该搜索页"
"
JOptionPane.ERROR_MESSAGE);
//url不为“”,并且不以“http:
elseif(url.length()>
!
)){
//在url前面添加“http:
//”
url="
+url;
jEditorPane1.setPage(url);
catch(Exceptionex){
}
//没有输入url,即url为空
elseif(url.length()==0){
请输入链接地址"
//输入地址后点击回车
elseif(e.getSource()==jurl){
history.add(url);
jurl.setMaximumSize(jurl.getPreferredSize());
JOptionPane.showMessageD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网页浏览器 开发
![提示](https://static.bdocx.com/images/bang_tan.gif)