




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录目 录2一、课程设计的目的与要求2二、题目说明32.1程序开发背景32.2开发工具介绍3三、总体设计43.1系统开发平台:4这个简易浏览器由Java语言编写,用Eclipse编译执行43.2系统流程图:43.3功能结构图:5四、详细说明54.1 系统实施5五、遇到的问题和解决方法16六、课程设计总结16一、课程设计的目的与要求加深学生对面向对象概念以及JAVA面向对象程序设计思想的理解和掌握;使学生熟悉开发一个项目的基本过程,培养学生分析问题和解决问题的能力,增强学生的动手能力。为后续学习和应用打下一定的基础。二、题目说明本程序实现一个简单的浏览器。用户通过在URL输入框中输入要下载的网络页面的网址,并点击浏览器界面上相应的按钮,或直接按回车键,就能完成网络页面下载的功能。同时,它还支持浏览本地HTML文件,用户在输入框中输入文件所在盘符及具体路径,并按回车键,或者点击界面上相应按钮,实现浏览本地文件的功能。它能够实现页面的文本链接,能够显示网页图片,并能够通过相应按钮的操作返回上一次访问的页面,还可以通过相应按钮返回后退之前访问的页面。该简易浏览器能帮助用户实现基本的网页浏览功能。2.2开发工具介绍本课程设计用Java语言编写。Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。三、总体设计3.1系统开发平台:这个简易浏览器由Java语言编写,用Eclipse编译执行3.2系统流程图:当用户登录此简易浏览器时,需要在地址栏输入需要搜索的内容的网址,当输入网址后,该浏览器会链接到相应的URL地址,实现页面的下载,并显示页面,从而实现该简易浏览器连接网络的功能。输入网址下载页面显示页面返回前进3.3功能结构图:该程序的设计主要分5部分。首先是登录界面的实现,其中要创建按钮,创建菜单栏及下拉菜单的实现;第二部分要实现各按钮的具体的功能包括在其中设置监听器,实现对按钮动作的监听及响应;第三部分用于对地址栏输入内容格式的设定包括如何处理异常等;第四部分实现页面的下载;第五部分用于实现页面的显示。具体的功能结构图如下:登录界面实现功能按钮实现URL连接实现下载链接页面显示链接页面简易浏览器四、详细说明4.1 系统实施1、 此部分用于实现用户登陆界面的设计。如登陆界面中的菜单栏,工具栏中的按钮,建立菜单项要用到JMenuItem命令,建立按钮要用到 JButton以及用ArrayList对象,用来存放历史地址,设置出现界面的尺寸要用scrollPane.setPreferredSize(new Dimension(100,500)、初始化界面系统、为jEditorPane1添加事件侦听、为各按钮实现快捷键等函数。实现此部分功能的代码如下: JMenuItem backItem=new JMenuItem (后退); JMenuItem forwardItem=new JMenuItem (前进); JMenu viewMenu=new JMenu (视图(V); JMenuItem fullscreenItem=new JMenuItem (全屏(U); JMenuItem sourceItem=new JMenuItem (查看源码(C); JMenuItem reloadItem=new JMenuItem (刷新(R); public WebBrowser() 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(new Dimension(100,500); contentPane.add (scrollPane, BorderLayout.SOUTH);2.此部分实现登陆界面各部分按钮的实际功能,及点击它实现的功能。如登录界面中的前进、后退、转向以及在地址栏中输入地址的内容格式不同如何处理,是否一定要加http:/、是否加www,以及回车键的功能设计,排除异常等部分的功能功能设计,在此只附部分代码。此部分代码为点击转向及控制在地址栏中输入内容及规则的设置的代码。 JOptionPane.showMessageDialog (WebBrowser.this,无法打开该搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE); else if(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); /add by copy editor :) jEditorPane1.revalidate (); catch(Exception ex) JOptionPane.showMessageDialog (WebBrowser.this,无法打开该搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE); else if(url.length ()=0) JOptionPane.showMessageDialog (WebBrowser.this,请输入链接地址,网页浏览器,JOptionPane.ERROR_MESSAGE); else if (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); /add by copy editor :) jEditorPane1.revalidate (); jurl.setMaximumSize (jurl.getPreferredSize (); catch(Exception ex) JOptionPane.showMessageDialog (WebBrowser.this,无法打开该搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE); else if(url.length ()0&!url.startsWith (http:/) url=http:/+url; try jEditorPane1.setPage (url ); history.add(url); historyIndex=history.size()-1; jEditorPane1.setEditable(false); /add by copy editor :) jEditorPane1.revalidate (); catch(Exception ex) JOptionPane.showMessageDialog (WebBrowser.this,无法打开该搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE); else if(url.length ()=0) JOptionPane.showMessageDialog (WebBrowser.this,请输入链接地址,网页浏览器,JOptionPane.ERROR_MESSAGE); 3.此部分用以实现浏览器的实际功能的代码源,若无此部分则只会设计出界面并不会实现具体的浏览网页的功能,设置光标的位置、实现监听器接口的actionPerformed函数等。相应代码如下:public void actionPerformed(ActionEvent e) String url = ; if (e.getSource() = closebutton) dispose(); else if(e.getSource() = savebutton) JFileChooser fc=new JFileChooser(); int returnVal=fc.showSaveDialog(ViewSourceFrame.this); File saveFile=fc.getSelectedFile(); try FileWriter writeOut = new FileWriter(saveFile); writeOut.write(jTextArea1.getText(); writeOut.close(); catch (IOException ex) System.out.println(保存失败); 五、遇到的问题和解决方法1、当运行Java文件WebBrowser时,编译工具Eclipse会提示unknown source说明系统找不到需要链接的东西,截图如下:解决方法:此WebBrowser中包含一个ViewSourceFrame类,而若程序要正常运行,需要同时运行此文件,即需要运行类ViewSourceFrame。运行结果截图如下:六、课程设计总结 九月份,学校对我们进行了Java课程、Adroid课程的培训,但觉得只学到了皮毛,学的东西非常浅。真正开始进行课程设计的时候就发现,对JAVA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 包车费合同范本
- 富宁商标转让合同范本
- 新入职员工通识培训考试题附答案
- 入学教育心得体会范文12篇
- 执法司法面试题目及答案
- 生态主题公园:2025年沉浸式体验设计与环境融合报告
- 历届托福考试试题及答案
- 2025年山西中小学教师招聘考试模拟试题及答案
- 2025年山西教师资格证考试真题(附答案)
- CN222961424U 一种微生物采样装置 (济南市食品药品检验检测中心(济南市药品不良反应和医疗器械不良事件监测中心))
- GB/T 26814-2011微波消解装置
- GB/T 13384-2008机电产品包装通用技术条件
- 粘膜免疫系统概述
- 钢板桩及支撑施工方案
- 新部编版四年级上册语文全册完整课件
- 政府信息公开申请表
- 冷藏车保温箱冰排使用记录
- FANUC工业机器人离线与应用项目7 工业机器人KAREL程序
- 综合能源管理解决方案(完整版)
- DB43∕T 291-2006 桃源大叶茶栽培技术规程
- 精细化学品化学-课件
评论
0/150
提交评论