网页浏览器Java课程设计文档格式.doc

上传人:wj 文档编号:1505442 上传时间:2023-04-30 格式:DOC 页数:27 大小:609KB
下载 相关 举报
网页浏览器Java课程设计文档格式.doc_第1页
第1页 / 共27页
网页浏览器Java课程设计文档格式.doc_第2页
第2页 / 共27页
网页浏览器Java课程设计文档格式.doc_第3页
第3页 / 共27页
网页浏览器Java课程设计文档格式.doc_第4页
第4页 / 共27页
网页浏览器Java课程设计文档格式.doc_第5页
第5页 / 共27页
网页浏览器Java课程设计文档格式.doc_第6页
第6页 / 共27页
网页浏览器Java课程设计文档格式.doc_第7页
第7页 / 共27页
网页浏览器Java课程设计文档格式.doc_第8页
第8页 / 共27页
网页浏览器Java课程设计文档格式.doc_第9页
第9页 / 共27页
网页浏览器Java课程设计文档格式.doc_第10页
第10页 / 共27页
网页浏览器Java课程设计文档格式.doc_第11页
第11页 / 共27页
网页浏览器Java课程设计文档格式.doc_第12页
第12页 / 共27页
网页浏览器Java课程设计文档格式.doc_第13页
第13页 / 共27页
网页浏览器Java课程设计文档格式.doc_第14页
第14页 / 共27页
网页浏览器Java课程设计文档格式.doc_第15页
第15页 / 共27页
网页浏览器Java课程设计文档格式.doc_第16页
第16页 / 共27页
网页浏览器Java课程设计文档格式.doc_第17页
第17页 / 共27页
网页浏览器Java课程设计文档格式.doc_第18页
第18页 / 共27页
网页浏览器Java课程设计文档格式.doc_第19页
第19页 / 共27页
网页浏览器Java课程设计文档格式.doc_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

网页浏览器Java课程设计文档格式.doc

《网页浏览器Java课程设计文档格式.doc》由会员分享,可在线阅读,更多相关《网页浏览器Java课程设计文档格式.doc(27页珍藏版)》请在冰点文库上搜索。

网页浏览器Java课程设计文档格式.doc

三、原始资料

1.《面向对象程序设计课程设计》指导书

2.耿祥义.JAVA大学实用教程.北京:

清华大学出版社,2009.

四、要求的设计(调查/论文)成果

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.1需求分析 1

1.2总体设计思路 1

1.3功能图与类图 2

2详细设计 3

2.1详细设计思路 3

2.2复用组件 4

3编码实现 5

4系统运行与测试 21

4.1系统测试情况 21

4.2排除错误的处理 24

总结 25

1需求与总体设计

1.1需求分析

此网页浏览器的主要功能描述:

通过在地址栏里面输入URL地址,可以访的

网页。

除此之外,本案例中的网页浏览器还增添了如下几个功能。

1.另存为:

可以将正在访问的页面进行保存。

2.前进:

访问现有页面的上一个页面。

3.后退:

访问现有页面的下一个页面。

4.查看源文件:

查看访问页面的HTML源文件,并且提供保存功能。

1.2总体设计思路

网页浏览器的程序由文件WebBrowser.java与ViewSourceFrame.java两个文件组成。

1)WebBrowser,java

该文件包含名为WebBrowser的public类,其主要功能为生成网页浏览器的主体框架,实现框架上各个组件的事件侦听。

主要包括4个模块:

图形用户界面的构建:

组件监听接口的实现:

文件保存功能的实现:

查看源代码框架的生成。

2)ViewSourceFrame.java

该文件包含名为ViewSourceFrame的类,其主要功能是实现了源文件查看的主体框架,并实现了源文件的保存功能。

主要包括两个模块:

组件监听接口的实现。

1.3功能图与类图

2详细设计

2.1详细设计思路

WebBrowser.java文件是网页浏览器的主类文件,生成了网页浏览器的主体框架,并实现框架上各个组件的事件侦听。

PubilicclassWebBrowserextendsJFrameimplementsHyperlinkListener,ActtionListener//建立主件,包括地址栏、界面、地址栏、菜单组、菜单项、工具栏、工具栏中按钮组件、存放历史地址、访问顺序。

publicWebBrowser()/*构造函数,图形化用户界面*/

publicvoidactionPerformed(ActionEvente)/*实现监听器接口的actionPerformed函数*/

voidsaveFile(finalStringurl)//保存文件

voidgetHtmlSource(Stringurl)//获得原文件

publicvoidhyperlinkUpdate(HyperlinkEvente)//实现监听器接口的hyperlinkUpdate函数

publicstaticvoidmain(String[]args)/*生成一个IE对象*/

ViewSourceFrame.java文件的作用是实现网页浏览器中源文件浏览的主体框架并提供了源文件的保存功能。

classViewSourceFrameextendsJFrameimplementsActionListener//建立主件

publicViewSourceFrame(StringhtmlSource)//构造函数,初始化图形用户界面

publicvoidactionPerformed(ActionEvente)//实现监听器接口的actionPerformed函数

2.2复用组件

选择好的容器就是为界面构造一个基本的骨架,然后在其中添加各个组件。

组件复用表:

功能

所复用的组件

菜单组

复用JMenu组件

菜单项

复用JMenuItem组件

工具栏

复用JPanel组件

按钮

复用JButton组件

地址栏

复用JLabel组件

状态栏

滚动条

复用scrollPane组件

菜单栏

复用JMenuBar组件

组件初始化

bar=newJToolBar();

//建立工具栏用来显示地址栏

jMenuBar1=newJMenuBar();

//建立菜单栏

fileMenu=newJMenu("

文件(F)"

);

//建立菜单组

对各个菜单项进行初始化

saveAsItem=newJMenuItem("

另存为(A)..."

exitItem=newJMenuItem("

退出(I)"

backItem=newJMenuItem("

后退"

forwardItem=newJMenuItem("

前进"

fullscreenItem=newJMenuItem("

全屏(U)"

sourceItem=newJMenuItem("

查看源码(C)"

reloadItem=newJMenuItem("

刷新(R)"

工具栏与菜单栏的初始化过程类似。

3编码实现

源代码:

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

importjavax.swing.event.*;

importjavax.swing.border.*;

importjava.io.*;

import.*;

importjava.util.*;

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("

//建立菜单项

JMenuItemsaveAsItem=newJMenuItem("

JMenuItemexitItem=newJMenuItem("

JMenueditMenu=newJMenu("

编辑(E)"

JMenuItembackItem=newJMenuItem("

JMenuItemforwardItem=newJMenuItem("

JMenuviewMenu=newJMenu("

视图(V)"

JMenuItemfullscreenItem=newJMenuItem("

JMenuItemsourceItem=newJMenuItem("

JMenuItemreloadItem=newJMenuItem("

//建立工具栏

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);

contentPane.add(bar,BorderLayout.CENTER);

contentPane.add(toolBar,BorderLayout.NORTH);

viewMenu.add(fullscreenItem);

viewMenu.add(sourceItem);

viewMenu.addSeparator();

viewMenu.add(reloadItem);

jMenuBar1.add(fileMenu);

jMenuBar1.add(editMenu);

jMenuBar1.add(viewMenu);

setJMenuBar(jMenuBar1);

adress.add(label);

adress.add(jurl);

adress.add(button);

bar.add(adress);

//为组件添加事件监听

saveAsItem.addActionListener(this);

picSave.addActionListener(this);

exitItem.addActionListener(this);

picExit.addActionListener(this);

backItem.addActionListener(this);

picBack.addActionListener(this);

forwardItem.addActionListener(this);

picForward.addActionListener(this);

fullscreenItem.addActionListener(this);

sourceItem.addActionListener(this);

picView.addActionListener(this);

reloadItem.addActionListener(this);

button.addActionListener(this);

jurl.addActionListener(this);

}

**实现监听器接口的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);

his

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2