java开发网页浏览器开发源代码.docx

上传人:b****4 文档编号:4084211 上传时间:2022-11-27 格式:DOCX 页数:19 大小:287.78KB
下载 相关 举报
java开发网页浏览器开发源代码.docx_第1页
第1页 / 共19页
java开发网页浏览器开发源代码.docx_第2页
第2页 / 共19页
java开发网页浏览器开发源代码.docx_第3页
第3页 / 共19页
java开发网页浏览器开发源代码.docx_第4页
第4页 / 共19页
java开发网页浏览器开发源代码.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

java开发网页浏览器开发源代码.docx

《java开发网页浏览器开发源代码.docx》由会员分享,可在线阅读,更多相关《java开发网页浏览器开发源代码.docx(19页珍藏版)》请在冰豆网上搜索。

java开发网页浏览器开发源代码.docx

java开发网页浏览器开发源代码

 

实训报告

题目:

网页浏览器开发

系(部):

软件工程系

班级:

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、视图:

全屏、查看源代码、刷新。

 

实训

方法

步骤

packagecrs;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.*;

importjava.util.EventObject;

importjava.util.Set;

importjavax.swing.JToolBar;

importjava.awt.*;

importjavax.swing.JMenu;

importjava.util.ArrayList;

importjavax.swing.event.HyperlinkEvent;

importjavax.swing.event.HyperlinkListener;

publicclassAssextendsJFrameimplementsHyperlinkListener,ActionListener{

/**

*@paramargs

*/

Stringa[]=newString[15];

inti=0;

JWindowwindow=newJWindow(Ass.this);/*建立菜单栏*/

//JWindow是一个容器,可以显示在用户桌面上的任何位置

JToolBartoolBar=newJToolBar();

JButtonpicSave=newJButton("另存为");

JButtonback=newJButton("后退");

JButtonadvance=newJButton("前进");

JButtonframesourc=newJButton("查看源代码");

JButtonexitIt=newJButton("退出");

JMenuItemEnter=newJMenuItem("回车键(Enter)");

JToolBarcha=newJToolBar();

JLabellaber=newJLabel("地址");

JTextFieldwenbenkuang=newJTextField(50);

JButtonbutton=newJButton("转向");

Boxadress=Box.createHorizontalBox();

/*建立地址栏*/

/*setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);*/

/*网页显示区的创建*/

JEditorPanejeditorpane=newJEditorPane();

JScrollPanescrollpane=newJScrollPane(jeditorpane);

//staticJFramefrm=newJFrame();

//privateArrayListhistory=newArrayList();//定义一个全局变量

//privateinthistoryIndex=0;

JEditorPaneetxt=newJEditorPane();/*文本编辑器*/

JScrollPanejsetxt=newJScrollPane(etxt);/*创建滚动窗格*/

//ContainercontenPane=newContainer();

JMenuBarjMenuBar1=newJMenuBar();

/*建立菜单组*/

JMenufileMenu=newJMenu("文件(F)");

JMenueditMenu=newJMenu("编辑(E)");

JMenuviewMenu=newJMenu("视图(V)");

JMenuinsertMenu=newJMenu("插入(I)");

JMenuformMenu=newJMenu("格式(O)");

JMenutoolMenu=newJMenu("工具(T)");

JMenuItemsaveAsItem=newJMenuItem("另存为(A)...");

JMenuItembac=newJMenuItem("后退(E)");

JMenuItemadvanc=newJMenuItem("前进(A)");

JMenuItemFull=newJMenuItem("全屏(U)");

JMenuItemframesource=newJMenuItem("查看源代码(C)");

JMenuItemrefresh=newJMenuItem("刷新(R)");

privateObjectexiTtem;

publicAss(){

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.ContainercontentPane=getContentPane();((java.awt.Container)contentPane).add(toolBar,BorderLayout.NORTH);*/

ContainercontenPane=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(newDimension(100,500));

/**将网页显示布局在南面,也就是下面**/

contenPane.add(scrollpane,BorderLayout.SOUTH);

//contenPane.add(etxt,BorderLayout.CENTER);/*文本编辑器*/

//contenPane.add(jsetxt,BorderLayout.SOUTH);/*滚动窗格*/

jsetxt.setPreferredSize(newDimension(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);

}

publicstaticvoidmain(String[]args){

//TODO自动生成方法存根

Assbrowser=newAss();

browser.pack();

browser.setVisible(true);

}

publicvoidactionPerformed(ActionEventh){

if(h.getSource()==exitIt)//获取事件源,h为事件

{

System.exit(0);//退出

}

elseif(h.getSource()==button||h.getSource()==wenbenkuang)//获取原文件,判断转向按钮是否被按下、文本框内是否有内容

{

Stringurl="";

url=wenbenkuang.getText();//获取文本框内容

i++;

a[this.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(Exceptionex){

JOptionPane.showMessageDialog(Ass.this,"无法找到搜索页","网页浏览器",JOptionPane.ERROR_MESSAGE);

}//显示异常信息

}

}

elseif(h.getSource()==bac||h.getSource()==back)

{

i--;

try{

jeditorpane.setPage(a[i]);//页面显示框

jeditorpane.revalidate();

}

catch(Exceptionex){

JOptionPane.showMessageDialog(Ass.this,"无法找到搜索页","网页浏览器",JOptionPane.ERROR_MESSAGE);

}

}

//前进

elseif(h.getSource()==framesourc)

{

i++;

try{

jeditorpane.setPage(a[i]);//页面显示框

}

catch(Exceptionex){

JOptionPane.showMessageDialog(Ass.this,"无法找到该源代码","网页浏览器",JOptionPane.ERROR_MESSAGE);

}

}

elseif(h.getSource()==advance||h.getSource()==advanc)

{

i++;

try{

jeditorpane.setPage(a[i]);//页面显示框

}

catch(Exceptionex){

JOptionPane.showMessageDialog(Ass.this,"无法找到搜索页","网页浏览器",JOptionPane.ERROR_MESSAGE);

}

}

elseif(h.getSource()==refresh){

Stringurr="";

urr=wenbenkuang.getText();//获取文本框内容

if(urr.length()>0&&urr.startsWith("http:

//"))//刷新就是从新显示页面,相当于转向的功能

{

try{

jeditorpane.setPage(urr);

jeditorpane.revalidate();

}catch(Exceptionex){

JOptionPane.showMessageDialog(Ass.this,"无法找到搜索页","网页浏览器",JOptionPane.ERROR_MESSAGE);

}

}

}

}

publicvoidhyperlinkUpdate(HyperlinkEventarg0){

//TODO自动生成方法存根

}

};

实训

结果

分析

结论

图1

建立网页浏览器窗口运行界面:

图2

在浏览器窗口上添加工具栏运行界面:

图3

在浏览器窗口上添加地址栏运行界面:

图4

后退链接运行界面:

图5

查看源代码链接运行界面:

图6

前进链接运行界面:

图7

输入错误网址提示运行界面:

个人

收获

体会

 

体会:

1在这次实训中,我遇到了很多问题。

在运用知识点时,不懂得运用课本上的知识和老师给出的相关资料结合起来,同时也不熟悉课本上的知识以致于在使用知识点时,出现了很多的漏点。

2在写的过程中,不能把代码的板块位置放错,一但错了程序就会报错或不能实现该代码的作用。

3其过程中,必须要定义和初始化我们要用到的变量。

类也是至关重要的。

语法错误是我们不可避免的,但是必须要认真的去查找自己所遇的错误并做出修改。

4通过本次实训,学习了接口和if{}try{}chath{};的用法。

5在实训的第一天,通过老师的指导、同学的互相帮助、查找资料和课本上的知识来在eclipse的环境中实现“网页浏览器”的窗口。

6第二天和同学们的相互学习、老师的指导和自己查找相关的资料来实现了在窗口上建立工具栏。

7第三天实现“文件”菜单下“退出”菜单项退出事件。

实现工具栏上“退出”按钮退出事件。

实现地址栏“转向”按钮事件、响应键盘回车事件。

8第四天自由扩展。

9

10第五天,写实训报告。

主要

代码

清单

此处填写重要代码清单(附注释)

/*建立地址栏*/

JToolBartoolBar=newJToolBar();

JButtonpicSave=newJButton("另存为");

JButtonback=newJButton("后退");

JButtonadvance=newJButton("前进");

JButtonframesourc=newJButton("查看源代码");

JButtonexitIt=newJButton("退出");

JMenuItemEnter=newJMenuItem("回车键(Enter)");

JToolBarcha=newJToolBar();

JLabellaber=newJLabel("地址");

JTextFieldwenbenkuang=newJTextField(50);

JButtonbutton=newJButton("转向");

Boxadress=Box.createHorizontalBox();

///////////////////////////////////////////////

建立菜单组:

JMenufileMenu=newJMenu("文件(F)");

JMenueditMenu=newJMenu("编辑(E)");

JMenuviewMenu=newJMenu("视图(V)");

JMenuinsertMenu=newJMenu("插入(I)");

JMenuformMenu=newJMenu("格式(O)");

JMenutoolMenu=newJMenu("工具(T)");

JMenuItemsaveAsItem=newJMenuItem("另存为(A)...");

JMenuItembac=newJMenuItem("后退(E)");

JMenuItemadvanc=newJMenuItem("前进(A)");

JMenuItemFull=newJMenuItem("全屏(U)");

JMenuItemframesource=newJMenuItem("查看源代码(C)");

JMenuItemrefresh=newJMenuItem("刷新(R)");

///////////////////////////////////////////////////

/*在工具栏中添加按钮组件*/

toolBar.add(picSave);

toolBar.add(back);

toolBar.add(advance);

toolBar.add(framesourc);

toolBar.add(exitIt);

/////////////////////////////////////////

链接各个窗口:

if(h.getSource()==exitIt)//获取事件源,h为事件

{

System.exit(0);//退出

}

elseif(h.getSource()==button||h.getSource()==wenbenkuang)//获取原文件,判断转向按钮是否被按下、文本框内是否有内容

{

Stringurl="";

url=wenbenkuang.getText();//获取文本框内容

i++;

a[this.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(Exceptionex){

JOptio

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1