基于JAVA的一个简单的浏览器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于JAVA的一个简单浏览器

一、简单介绍:

首先,我是通过HTML来编程实现一个简易的的Web浏览器的,制作过程中需要用到javax.swing包中的JEditorPane类,JEditorPane类是一个文本容器类,功能丰富,其中一个功能是用来显示和编辑个各种不同类型的文本内容,例如,解析HTML文档并显示。

Javax.swing包中JEditorPane类定义为:

Public class JEditorPane extends JTextComponet

{

Public JEditorPane();

//构造方法

Public void setPage ( String url ) throws IOException;

//显示字符串表示的URL的内容

Public void setPage ( URL page ) throws IOException;

//显示给定的URL的内容

……

//其他方法

}

二、实现方法与步骤:

该Web浏览器通过在URL地址栏输入网页地址,根据URL进行链接,并显示连接的网页内容。其实现步骤为;

(1)获得要显示的URL地址。

(2)如果输入的地址合法,则利HJJE此JEditorPane的setPage()方法将页

面内容显示出来。

(3)响应在网页里面打开超级链接的消息。

三、代码与分析:

package html;

import java.io.IOException;

import .URL;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.event.*;

public class HtmlBrowser extends JFrame

{

JPanel contentPane; //包含整个框架的容器

BorderLayout borderLayoutAll = new BorderLayout();

JLabel jLabelPrompt = new JLabel();//状态提示框

JPanel jPanelMain = new JPanel();//包含URL编辑框和JEditorPane的容器

BorderLayout borderLayoutMain = new BorderLayout();

JTextField jTextFieldURL = new JTextField();//URL输入框

JEditorPane jEditorPane = new JEditorPane();//显示构造的方法

public HtmlBrowser()

{

try

{

jbInit();//初始化显示界面

}

catch(Exception e)

{

e.printStackTrace();

}

}

private void jbInit()throws Exception //界面初始化

{

contentPane = (JPanel)getContentPane();

contentPane.setLayout(borderLayoutAll);

jPanelMain.setLayout(borderLayoutMain);

jLabelPrompt.setText("简单的HTML浏览器,请在text框内输入正确的URL");

jTextFieldURL.setText("");

jTextFieldURL.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

textFieldURL_actionPerformed(e);

}

});

JScrollPane scrollPane = new JScrollPane();

scrollPane.getViewport().add(jEditorPane);

jPanelMain.add(jTextFieldURL,"North");

jPanelMain.add(scrollPane,"Center");

contentPane.add(jLabelPrompt,"North");

contentPane.add(jPanelMain,"Center");

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

this.setSize(new Dimension(600,500));

this.setTitle("网页浏览器");

this.setVisible(true);

}

void textFieldURL_actionPerformed(ActionEvent e)//输入地址后,回车消息响应

{

try

{

jEditorPane.setPage(jTextFieldURL.getText());//显示所给的RUL的内容

}

catch(IOException ex)

{

JOptionPane msg = new JOptionPane();//提示对话框

JOptionPane.showMessageDialog(this,"不正确的URL地址:"+ jTextFieldURL.getText(),"不正确的输入!!",0);

}

}

void jEditorPane_hyperlinkUpadate(HyperlinkEvent e)//响应页面内打开超级链接的消息

{

if(e.getEventType()==HyperlinkEvent.EventType.ACTIVATED)

{

try

{

URL url = e.getURL();//从消息中得到URL的地址

jEditorPane.setPage(url);//显示该URL页面的内容

}

catch(IOException io)

{

JOptionPane msg = new JOptionPane();

JOptionPane.showMessageDialog(this,"不能打开连接!","不正确的输入!",0);

}

相关文档
最新文档