java版浏览器_java版浏览器汇总

package com.list;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.InputEvent;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.beans.PropertyChangeEvent;

import java.beans.PropertyChangeListener;

import java.io.File;

import java.io.IOException;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.ArrayList;

import javax.swing.JButton;

import javax.swing.JEditorPane;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JOptionPane;

import javax.swing.JScrollPane;

import javax.swing.JTextField;

import javax.swing.JToolBar;

import javax.swing.KeyStroke;

import javax.swing.event.HyperlinkEvent;

import javax.swing.event.HyperlinkListener;

import javax.swing.filechooser.FileFilter;

public class WebBrowser extends JFrame implements HyperlinkListener,

PropertyChangeListener {

public static void main(String[] args) throws IOException {

// 设置浏览器,当所有浏览器窗口都被关闭时,退出应用程序

WebBrowser.setExitWhenLastWindowClosed(true);

// 创建一个浏览器窗口

WebBrowser browser = new WebBrowser();

// 设置浏览器窗口的默认大小

browser.setSize(800, 600);

// 显示窗口

browser.setVisible(true);

// 打开主页

browser.displayPage(browser.getHome());

}

// 显示HTML的面板

JEditorPane textPane;

// 最底下的状态栏

JLabel messageLine;

// 网址URL输入栏

JTextField urlField;

// 文件选择器,打开本地文件时用

JFileChooser fileChooser;

// 后退和前进 按钮

JButton backButton;

JButton forwardButton;

JButton button;

// 保存历史记录的列表

java.util.List history = new ArrayList();

// 当前页面的在历史记录列表中位置

int currentHistoryPage = -1;

// 当历史记录超过MAX_HISTORY时,清除旧的历史

public static final int MAX_HISTORY = 50;

// 当前已经打开的浏览器窗口数

static int numBrowserWindows = 0;

// 标识当所有浏览器窗口都被关闭时,是否退出应用程序

static boolean exitWhenLastWindowClosed = false;

// 默认的主页

String home = "http://www.szu.edu.cn/szu.asp";

public WebBrowser() {

super("WebBrowser");

// 新建显示HTML的面板,并设置它不可编辑

textPane = new JEditorPane();

textPane.setEditable(false);

button = new JButton("Go!");

// 注册事件处理器,用于超连接事件。

textPane.addHyperlinkListener(this);

// 注册事件处理器,用于处理属性改变事件。当页面加载结束时,触发该事件

textPane.addPropertyChangeListener(this);

// 将HTML显示面板放入主窗口,居中显示

this.getContentPane().add(new JScrollPane(textPane),

BorderLayout.CENTER);

// 创建状态栏标签,并放在主窗口底部

messageLine = new JLabel(" ");

this.getContentPane().add(messageLine, BorderLayout.SOUTH);

// 初始化菜单和工具栏

this.initMenu();

this.initToolbar();

// 将当前打开窗口数增加1

WebBrowser.numBrowserWindows++;

// 当关闭窗口时,调用close方法处理

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

close();

}

});

}

private void initMenu() {

// 文件菜单,下面有四个菜单项:新建、打开、保存、关闭窗口、退出

JMenu fileMenu = new JMenu("文件");

fileMenu.setMnemonic('F');

JMenuItem newMenuItem = new JMenuItem("新建");

newMenuItem.setMnemonic('N');

// 当“新建”时打开一个浏览器窗口

newMenuItem.addActionListener(new ActionListener() {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值