您好,欢迎访问三七文档
目录目录........................................................................................................................1一、课程设计的目的与要求........................................................................................2二、题目说明................................................................................................................22.1程序开发背景...................................................................错误!未定义书签。2.2开发工具介绍...................................................................................................2三、总体设计................................................................................................................23.1.系统开发平台:...................................................................................................2这个简易浏览器由Java语言编写,用Eclipse编译执行........................23.2.系统流程图:................................................................................................33.3功能结构图:...................................................................................................3四、详细说明................................................................................................................44.1系统实施.................................................................................................................4五、遇到的问题和解决方法........................................................................................9六、课程设计总结......................................................................................................10一、课程设计的目的与要求加深学生对面向对象概念以及JAVA面向对象程序设计思想的理解和掌握;使学生熟悉开发一个项目的基本过程,培养学生分析问题和解决问题的能力,增强学生的动手能力。为后续学习和应用打下一定的基础。二、题目说明本程序实现一个简单的浏览器。用户通过在URL输入框中输入要下载的网络页面的网址,并点击浏览器界面上相应的按钮,或直接按回车键,就能完成网络页面下载的功能。同时,它还支持浏览本地HTML文件,用户在输入框中输入文件所在盘符及具体路径,并按回车键,或者点击界面上相应按钮,实现浏览本地文件的功能。它能够实现页面的文本链接,能够显示网页图片,并能够通过相应按钮的操作返回上一次访问的页面,还可以通过相应按钮返回后退之前访问的页面。该简易浏览器能帮助用户实现基本的网页浏览功能。2.2开发工具介绍本课程设计用Java语言编写。Java,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。三、总体设计3.1.系统开发平台:这个简易浏览器由Java语言编写,用Eclipse编译执行3.2.系统流程图:当用户登录此简易浏览器时,需要在地址栏输入需要搜索的内容的网址,当输入网址后,该浏览器会链接到相应的URL地址,实现页面的下载,并显示页面,从而实现该简易浏览器连接网络的功能。3.3功能结构图:该程序的设计主要分5部分。首先是登录界面的实现,其中要创建按钮,创建菜单栏及下拉菜单的实现;第二部分要实现各按钮的具体的功能包括在其中设置监听器,实现对按钮动作的监听及响应;第三部分用于对地址栏输入内容格式的设定包括如何处理异常等;第四部分实现页面的下载;第五部分用于实现页面的显示。具体的功能结构图如下:输入网址下载页面显示页面返回前进四、详细说明4.1系统实施1、此部分用于实现用户登陆界面的设计。如登陆界面中的菜单栏,工具栏中的按钮,建立菜单项要用到JMenuItem命令,建立按钮要用到JButton以及用ArrayList对象,用来存放历史地址,设置出现界面的尺寸要用scrollPane.setPreferredSize(newDimension(100,500))、初始化界面系统、为jEditorPane1添加事件侦听、为各按钮实现快捷键等函数。实现此部分功能的代码如下:JMenuItembackItem=newJMenuItem(后退);JMenuItemforwardItem=newJMenuItem(前进);登录界面实现功能按钮实现URL连接实现下载链接页面显示链接页面简易浏览器JMenuviewMenu=newJMenu(视图(V));JMenuItemfullscreenItem=newJMenuItem(全屏(U));JMenuItemsourceItem=newJMenuItem(查看源码(C));JMenuItemreloadItem=newJMenuItem(刷新(R));publicWebBrowser(){setTitle(网页浏览器);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jEditorPane1.addHyperlinkListener(this);fileMenu.setMnemonic('F');saveAsItem.setMnemonic('S');saveAsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));exitItem.setMnemonic('Q');exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));fileMenu.add(saveAsItem);scrollPane.setPreferredSize(newDimension(100,500));contentPane.add(scrollPane,BorderLayout.SOUTH);2.此部分实现登陆界面各部分按钮的实际功能,及点击它实现的功能。如登录界面中的前进、后退、转向以及在地址栏中输入地址的内容格式不同如何处理,是否一定要加http://、是否加,以及回车键的功能设计,排除异常等部分的功能功能设计,在此只附部分代码。此部分代码为点击转向及控制在地址栏中输入内容及规则的设置的代码。JOptionPane.showMessageDialog(WebBrowser.this,无法打开该搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE);elseif(url.length()0&&!url.startsWith(http://)){//在url前面添加“http://”url=http://+url;try{jEditorPane1.setPage(url);history.add(url);historyIndex=history.size()-1;jEditorPane1.setEditable(false);//addbycopyeditor:)jEditorPane1.revalidate();}catch(Exceptionex){JOptionPane.showMessageDialog(WebBrowser.this,无法打开该搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE);}}elseif(url.length()==0){JOptionPane.showMessageDialog(WebBrowser.this,请输入链接地址,网页浏览器,JOptionPane.ERROR_MESSAGE);}}elseif(e.getSource()==jurl){url=jurl.getText();if(url.length()0&&url.startsWith(http://)){try{jEditorPane1.setPage(url);history.add(url);historyIndex=history.size()-1;jEditorPane1.setEditable(false);//addbycopyeditor:)jEditorPane1.revalidate();jurl.setMaximumSize(jurl.getPreferredSize());}catch(Exceptionex){JOptionPane.showMessageDialog(WebBrowser.this,无法打开该搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE);}}elseif(url.length()0&&!url.startsWith(http://)){url=http://+url;try{jEditorPane1.setPage(url);history.add(url);historyIndex=history.size()-1;jEditorPane1.setEditable(false);//addbycopyeditor:)jEditorPane1.revalidate();}catch(Exceptionex){JOptionPane.showMessageDialog(WebBrowser.this,无法打开该搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE);}}elseif(url.length()==0){JOptionPane.showMessageDialog(WebBrowser.this,请输入链接地址,网页浏览器,JOptionPane.ERROR_MESSAGE);}3.此部分用以实现浏览器的实际功能的代码源,若无此部分则只会设计出界面并不会实现具体的浏览网页的功能,设置光标的位置、实现监听器接口的actionPerformed函数等。相应代码如下:p
本文标题:简易浏览器设计报告
链接地址:https://www.777doc.com/doc-2096303 .html