/*
**网页浏览器主程序
**WebBrowser.java
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.URL;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.event.*;
@SuppressWarnings("serial")
public class WebBrowser extends JFrame implements HyperlinkListener,ActionListener{
    //建立工具栏用来显示地址栏
    JToolBar bar=new JToolBar ();
   
    //建立网页显示界面
    JTextField jurl = new JTextField (60);
    JEditorPane jEditorPane1 = new JEditorPane ();
    JScrollPane scrollPane = new JScrollPane (jEditorPane1);
   
    JFileChooser chooser=new JFileChooser ();
    JFileChooser chooser1=new JFileChooser ();
    String htmlSource;
    JWindow window = new JWindow (WebBrowser.this);
    JButton button2=new JButton ("窗口还原");
    Toolkit toolkit = DefaultToolkit();
   
    //建立菜单栏
    JMenuBar jMenuBar1 = new JMenuBar();
    //建立菜单组
    JMenu fileMenu = new JMenu ("文件(F)");
    //建立菜单项
    JMenuItem saveAsItem = new JMenuItem ("另存为(A)...");
    JMenuItem exitItem=new JMenuItem ("退出(I)");
   
    JMenu editMenu=new JMenu ("编辑(E)");
    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)");
    //建立工具栏
    JToolBar toolBar = new JToolBar();
    //建立工具栏中的按钮组件
    JButton picSave = new JButton("另存为");
    JButton picBack = new JButton("后退");
    JButton picForward = new JButton("前进");
    JButton picView = new JButton("查看源代码");
    JButton picExit = new JButton("退出");
    JLabel label=new JLabel ("地址");
    JButton button=new JButton ("转向");
   
    Box ateHorizontalBox ();   
    //ArrayList对象,用来存放历史地址
    @SuppressWarnings("rawtypes")
    private ArrayList history=new ArrayList();
    //整型变量,表示历史地址的访问顺序
    private int historyIndex;
    /**
    **构造函数
    **初始化图形用户界面
    */
    public WebBrowser(){
       
        setTitle ("web浏览器 11软件技术302班");
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                   
        //为jEditorPane1添加事件侦听
        jEditorPane1.addHyperlinkListener (this);
简单网页制作源代码       
        //为组件fileMenu设置热键‘F’
        fileMenu.setMnemonic('F');
       
        saveAsItem.setMnemonic ('S');
        //为“另存为”组件设置快捷键为ctrl+s
        saveAsItem.setAccelerator (KeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK));
       
        exitItem.setMnemonic('Q');
        exitItem.setAccelerator (KeyStroke (KeyEvent.VK_E,InputEvent.CTRL_MASK));
       
        //将菜单项saveAsItem加入到菜单组fileMenu中
        fileMenu.add (saveAsItem);
        //在菜单项中添加隔离
        fileMenu.addSeparator ();
        fileMenu.add (exitItem);
       
        backItem.setMnemonic ('B');
        backItem.setAccelerator (KeyStroke (KeyEvent.VK_Z,InputEvent.CTRL_MASK));
        forwardItem.setMnemonic('D');
        forwardItem.setAccelerator (KeyStroke (KeyEvent.VK_P,InputEvent.CTRL_MASK));
       
        editMenu.setMnemonic('E');
        editMenu.add (backItem);
        editMenu.add (forwardItem); 
       
        viewMenu.setMnemonic('V');
       
        fullscreenItem.setMnemonic('U');
        fullscreenItem.setAccelerator (KeyStroke (KeyEvent.VK_U,InputEvent.CTRL_MASK));
        sourceItem.setMnemonic('C');
        sourceItem.setAccelerator (KeyStroke (KeyEvent.VK_C,InputEvent.CTRL_MASK));
        reloadItem.setMnemonic('R');
        reloadItem.setAccelerator (KeyStroke (KeyEvent.VK_R,InputEvent.CTRL_MASK));
       
        Container contentPane=getContentPane ();
           
        //设置大小
        scrollPane.setPreferredSize(new Dimension(100,500));
        contentPane.add (scrollPane, BorderLayout.SOUTH);
       
        //在工具栏中添加按钮组件
        toolBar.add(picSave);
        toolBar.addSeparator();
        toolBar.add(picBack);
        toolBar.add(picForward);
        toolBar.addSeparator();
        toolBar.add(picView);
        toolBar.addSeparator();
        toolBar.add(picExit);
       
        contentPane.add (bar,BorderLayout.CENTER);
        contentPane.add(toolBar,BorderLayout.NORTH);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。