java开发网页浏览器开发源代码.doc_第1页
java开发网页浏览器开发源代码.doc_第2页
java开发网页浏览器开发源代码.doc_第3页
java开发网页浏览器开发源代码.doc_第4页
java开发网页浏览器开发源代码.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实训报告题目: 网页浏览器开发 系 (部): 软件工程系 班 级: 11软件技术302班 学 号: 2011010201 姓 名: 指导教师: 傅翠玉、邓奉先、邢益良 起止时间: 2012年3月26日 至 30日 海南软件职业技术学院实训报告实训项目名称网页浏览器开发编号专业软件技术班级302班学号2011010201姓名蔡晓丽成绩指导教师傅翠玉 邓奉先 邢益良时间2012.4.9-2012.4.13实训目的及要求实习目的:1、通过本项目的实训和操作,学会使用eclipse开发网页浏览器,掌握软件开发的流程、程序调试方法;2、通过老师的指导、团队小组的齐心协力,能够根据所学的知识去解决“网页浏览器”开发中存在的一些实际问题,以及能够独立完成一些简单的网页浏览器开发、管理、维护等工作;3、提高分析问题、解决问题、强化实践技能和提高职业能力。要求:1.运用java语言,在eclipse环境下实现简单网页浏览器的开发。2.基本功能实现:在界面下实现“文件、编辑、视图、地址栏”等功能菜单或按钮添加,并实现打开网址、后退前进等功能。3.扩展功能:查看源代码、另存为、刷新屏幕等功能。实训内容描述一、开发框架搭建1、打开eclipse,在“文件”下选择新建,创建名字为“WebBrowser”的Java项目2、在“包资源管理器”窗口下选择“WeBrowser”项目,新建名为“Browser”的类。3、在本次开发中,Browser类使用到Swing组件下的JFrame框架类,和 HyperlinkListener、ActionListener接口,相关JFrame、接口信息可查询API文档。 Eclipse自动导入需要的awt、swing包。点击第七行错误提示处,根据提示“添加两个未实现的方法”。 4、 创建Browser类的构造函数Browser(),并实例化产生browser对象 5、运行该程序,产生一个浏览器窗口。二、组件添加创建菜单栏、添加菜单和菜单项1、创建菜单栏,添加”文件、编辑、视图”等菜单项。二、学生扩展根据以上提示,查阅相关资料,在框架中完成下拉菜单项的添加、和其他组件的添加。1、文件:另存为、退出;2、编辑:后退、前进;3、视图:全屏、查看源代码、刷新。实训方法与步骤package crs;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import java.util.EventObject;import java.util.Set;import javax.swing.JToolBar;import java.awt.*;import javax.swing.JMenu;import java.util.ArrayList;import javax.swing.event.HyperlinkEvent;import javax.swing.event.HyperlinkListener;public class Ass extends JFrame implements HyperlinkListener ,ActionListener /* * param args */String a=new String 15;int i=0; JWindow window= new JWindow(Ass.this); /*建立菜单栏*/ /JWindow 是一个容器,可以显示在用户桌面上的任何位置 JToolBar toolBar=new JToolBar(); JButton picSave = new JButton(另存为); JButton back = new JButton(后退); JButton advance = new JButton(前进); JButton framesourc = new JButton(查看源代码); JButton exitIt = new JButton(退出); JMenuItem Enter=new JMenuItem(回车键(Enter); JToolBar cha=new JToolBar (); JLabel laber =new JLabel(地址); JTextField wenbenkuang =new JTextField (50); JButton button =new JButton(转向); Box adress=Box.createHorizontalBox(); /*建立地址栏*/ /*setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);*/ /*网页显示区的创建*/ JEditorPane jeditorpane=new JEditorPane(); JScrollPane scrollpane=new JScrollPane(jeditorpane); / static JFrame frm=new JFrame();/private ArrayList history=new ArrayList();/定义一个全局变量/private int historyIndex=0; JEditorPane etxt=new JEditorPane(); /*文本编辑器*/ JScrollPane jsetxt=new JScrollPane(etxt); /*创建滚动窗格*/ / Container contenPane=new Container() ; JMenuBar jMenuBar1=new JMenuBar(); /*建立菜单组*/ JMenu fileMenu= new JMenu(文件(F); JMenu editMenu= new JMenu(编辑(E); JMenu viewMenu= new JMenu(视图(V); JMenu insertMenu= new JMenu(插入(I); JMenu formMenu= new JMenu(格式(O); JMenu toolMenu= new JMenu(工具(T); JMenuItem saveAsItem =new JMenuItem(另存为(A).); JMenuItem bac =new JMenuItem(后退(E); JMenuItem advanc =new JMenuItem(前进(A); JMenuItem Full = new JMenuItem(全屏(U); JMenuItem framesource = new JMenuItem(查看源代码(C); JMenuItem refresh= new JMenuItem(刷新(R);private Object exiTtem; public Ass() setTitle(网页浏览器); this.setSize(600, 300); jMenuBar1.add(fileMenu); jMenuBar1.add(editMenu); jMenuBar1.add(viewMenu); jMenuBar1.add(insertMenu); jMenuBar1.add(formMenu); jMenuBar1.add(toolMenu); setJMenuBar(jMenuBar1); fileMenu.add(另存为(A)); fileMenu.addSeparator();/*在菜单隔离项中添加*/ fileMenu.add(后退(E); editMenu.add(advanc); editMenu.addSeparator(); editMenu.add(bac); viewMenu.add(Full); viewMenu.addSeparator(); viewMenu.add(framesource); viewMenu.addSeparator(); viewMenu.add(refresh); /*在工具栏中添加按钮组件*/ toolBar.add(picSave); toolBar.add(back); toolBar.add(advance); toolBar.add(framesourc); toolBar.add(exitIt); /*java.awt. Container contentPane = getContentPane(); (java.awt.Container)contentPane).add(toolBar,BorderLayout.NORTH); */ Container contenPane=getContentPane(); contenPane.add (toolBar,BorderLayout.NORTH); /*工具栏最上边*/ contenPane.add(cha,BorderLayout.CENTER); /*中间标签和地址文本框和按钮*/ adress.add(laber); adress.add(wenbenkuang); adress.add(button); cha.add(adress); /*添加网页显示区,并设置大小*/ scrollpane.setPreferredSize(new Dimension(100,500); /*将网页显示布局在南面,也就是下面*/ contenPane.add(scrollpane,BorderLayout.SOUTH); /contenPane.add(etxt,BorderLayout.CENTER); /*文本编辑器*/ / contenPane.add(jsetxt,BorderLayout.SOUTH); /*滚动窗格*/ jsetxt.setPreferredSize(new Dimension(100,500); /*滚动窗格大小*/ contenPane.setVisible(true); wenbenkuang.addActionListener(this); exitIt.addActionListener(this); refresh.addActionListener(this); advanc.addActionListener(this); advance.addActionListener(this); button.addActionListener(this); fileMenu.addActionListener(this); back.addActionListener(this); bac.addActionListener(this); framesourc.addActionListener(this); public static void main(String args) / TODO 自动生成方法存根 Ass browser=new Ass(); browser.pack(); browser .setVisible(true); public void actionPerformed(ActionEvent h) if (h.getSource()=exitIt)/获取事件源,h为事件System.exit(0);/退出else if(h.getSource()=button|h.getSource()=wenbenkuang)/获取原文件,判断转向按钮是否被按下、文本框内是否有内容String url=; url=wenbenkuang.getText();/获取文本框内容i+;athis.i=url;this.i+;if(url.length()0&url.startsWith(http:/);/对输入网址的判断,网址长度大于零System.out.println(url);url=http:/+url;/当输入的网址中不含有http:/时,将自动添加http:/try/jeditorpane.setContentType(text/html);jeditorpane.setPage(url);/页面显示框jeditorpane.revalidate();/System.out.println(yes);catch(Exception ex)JOptionPane.showMessageDialog(Ass.this,无法找到搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE);/显示异常信息else if(h.getSource()=bac|h.getSource()=back) i-;tryjeditorpane.setPage(ai);/页面显示框jeditorpane.revalidate();catch(Exception ex)JOptionPane.showMessageDialog(Ass.this,无法找到搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE);/前进else if(h.getSource()=framesourc)i+;tryjeditorpane.setPage(ai);/页面显示框catch(Exception ex)JOptionPane.showMessageDialog(Ass.this,无法找到该源代码,网页浏览器,JOptionPane.ERROR_MESSAGE);else if(h.getSource()=advance|h.getSource()=advanc)i+;tryjeditorpane.setPage(ai);/页面显示框catch(Exception ex)JOptionPane.showMessageDialog(Ass.this,无法找到搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE);else if(h.getSource()=refresh)String urr=;urr=wenbenkuang.getText();/获取文本框内容if(urr.length()0&urr.startsWith(http:/)/刷新就是从新显示页面,相当于转向的功能 tryjeditorpane.setPage(urr);jeditorpane.revalidate();catch(Exception ex)JOptionPane.showMessageDialog(Ass.this,无法找到搜索页,网页浏览器,JOptionPane.ERROR_MESSAGE);public void hyperlinkUpdate(HyperlinkEvent arg0) / TODO 自动生成方法存根;实训结果分析与结论图1建立网页浏览器窗口运行界面:图2在浏览器窗口上添加工具栏运行界面:图3在浏览器窗口上添加地址栏运行界面:图4后退链接运行界面:图5查看源代码链接运行界面:图6前进链接运行界面:图7输入错误网址提示运行界面:个人收获及体会体会:1 在这次实训中,我遇到了很多问题。在运用知识点时,不懂得运用课本上的知识和老师给出的相关资料结合起来,同时也不熟悉课本上的知识以致于在使用知识点时,出现了很多的漏点。2 在写的过程中,不能把代码的板块位置放错,一但错了程序就会报错或不能实现该代码的作用。3 其过程中,必须要定义和初始化我们要用到的变量。类也是至关重要的。语法错误是我们不可避免的,但是必须要认真的去查找自己所遇的错误并做出修改。4 通过本次实训,学习了接口和iftrychath;的用法。5 在实训的第一天,通过老师的指导、同学的互相帮助、查找资料和课本上的知识来在eclipse的环境中实现 “网页浏览器”的窗口。6 第二天和同学们的相互学习、老师的指导和自己查找相关的资料来实现了在窗口上建立工具栏。7 第三天实现“文件”菜单下“退出”菜单项退出事件。实现工具栏上“退出”按钮退出事件。实现地址栏“转向”按钮事件、响应键盘回车事件。8 第四天自由扩展。910 第五天,写实训报告。主要代码清单此处填写重要代码清单(附注释)/*建立地址栏*/JToolBar toolBar=new JToolBar(); JButton picSave = new JButton(另存为); JButton back = new JButton(后退); JButton advance = new JButton(前进); JButton framesourc = new JButton(查看源代码); JButton exitIt = new JButton(退出); JMenuItem Enter=new JMenuItem(回车键(Enter); JToolBar cha=new JToolBar (); JLabel laber =new JLabel(地址); JTextField wenbenkuang =new JTextField (50); JButton button =new JButton(转向); Box adress=Box.createHorizontalBox(); /建立菜单组: JMenu fileMenu= new JMenu(文件(F); JMenu editMenu= new JMenu(编辑(E); JMenu viewMenu= new JMenu(视图(V); JMenu insertMenu= new JMenu(插入(I); JMenu formMenu= new JMenu(格式(O); JMenu toolMenu= new JMenu(工具(T); JMenuItem saveAsItem =new JMenuItem(另存为(A).); JMenuItem bac =new JMenuItem(后退(E); JMenuItem advanc =new JMenuItem(前进(A); JMenuItem Full = new JMenuItem(全屏(U); JMenuItem framesource = new JMenuItem(查看源代码(C); JMenuItem refresh= new JMenuItem(刷新(R);/*在工具栏中添加按钮组件*/ toolBar.add(picSave); toolBar.add(back); toolBar.add(advance); toolBar.add(framesourc); toolBar.add(exitIt);/链接各个窗口:if (h.getSource()=exitIt)/获取事件源,h为事件System.exit(0);/退出else if(h.getSource()=button|h.getSource()=wenbenkuang)/获取原文件,判断转向按钮是否被按下、文本框内是否有内容String url=; url=wenbenkuang.getText();/获取文本框内容i+;athis.i=url;this.i+;if(url.length()0&url.startsWith(http:/);/对输入网址的判断,网址长度大于零System.out.println(url);url=http:/+url;/当输入的网址中不含有http:/时,将自动添加http:/try/jeditorpane.setContentType(text/html);jeditorpane.setPage(url);/页面显示框jeditorpane.revalidate();/System.out.println(yes);catch(Exception ex)JOptionPane.showMessageDialog(Ass.this,无

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论