亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? webbrowser.java

?? 網(wǎng)絡(luò)瀏覽器,能實(shí)現(xiàn)基本的瀏覽功能,可以作為初學(xué)者
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package CH04.源程序;

/*
**網(wǎng)頁瀏覽器主程序
**WebBrowser.java
*/
import java.awt.*; 
import javax.swing.*;
import javax.swing.text.*;
import java.awt.event.*; 
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.filechooser.FileFilter; 
import javax.swing.filechooser.FileView; 
import java.io.*; 
import java.net.*; 
import java.util.*; 

public class WebBrowser extends JFrame implements HyperlinkListener,ActionListener{ 

    //建立工具欄用來顯示地址欄
    JToolBar bar=new JToolBar (); 
    
    //建立網(wǎng)頁顯示界面
    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 = Toolkit.getDefaultToolkit();
    
    //建立菜單欄
    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 ("前進(jìn)");
    
    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("前進(jìn)");
    JButton picView = new JButton("查看源代碼");
    JButton picExit = new JButton("退出");

    JLabel label=new JLabel ("地址"); 
    JButton button=new JButton ("轉(zhuǎn)向");
    
    Box adress=Box.createHorizontalBox ();    

    //ArrayList對象,用來存放歷史地址
    private ArrayList history=new ArrayList();
    //整型變量,表示歷史地址的訪問順序
    private int historyIndex; 

    /**
    **構(gòu)造函數(shù)
    **初始化圖形用戶界面
    */
    public WebBrowser(){
        
        setTitle ("網(wǎng)頁瀏覽器"); 
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    
        //為jEditorPane1添加事件偵聽
        jEditorPane1.addHyperlinkListener (this);
        
        //為組件fileMenu設(shè)置熱鍵‘F’
        fileMenu.setMnemonic('F'); 
        
        saveAsItem.setMnemonic ('S'); 
        //為“另存為”組件設(shè)置快捷鍵為ctrl+s
        saveAsItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK)); 
        
        exitItem.setMnemonic('Q'); 
        exitItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_E,InputEvent.CTRL_MASK)); 
        
        //將菜單項saveAsItem加入到菜單組fileMenu中
        fileMenu.add (saveAsItem); 
        //在菜單項中添加隔離
        fileMenu.addSeparator (); 
        fileMenu.add (exitItem);
        
        backItem.setMnemonic ('B'); 
        backItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_Z,InputEvent.CTRL_MASK)); 
        forwardItem.setMnemonic('D'); 
        forwardItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_P,InputEvent.CTRL_MASK)); 
        
        editMenu.setMnemonic('E'); 
        editMenu.add (backItem); 
        editMenu.add (forwardItem);  
        
        viewMenu.setMnemonic('V');
        
        fullscreenItem.setMnemonic('U');
        fullscreenItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_U,InputEvent.CTRL_MASK)); 
        sourceItem.setMnemonic('C');
        sourceItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C,InputEvent.CTRL_MASK)); 
        reloadItem.setMnemonic('R');
        reloadItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_R,InputEvent.CTRL_MASK)); 
        
        Container contentPane=getContentPane (); 
            
        //設(shè)置大小
        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);
        
        viewMenu.add (fullscreenItem); 
        viewMenu.add (sourceItem); 
        viewMenu.addSeparator (); 
        viewMenu.add (reloadItem); 
        
        jMenuBar1.add (fileMenu); 
        jMenuBar1.add (editMenu); 
        jMenuBar1.add (viewMenu); 

        setJMenuBar (jMenuBar1); 
    
        adress.add (label); 
        adress.add (jurl); 
        adress.add (button); 
        bar.add (adress); 
        
        //為組件添加事件監(jiān)聽
        saveAsItem.addActionListener(this);
        picSave.addActionListener(this);
        exitItem.addActionListener(this);
        picExit.addActionListener(this);
        backItem.addActionListener(this);
        picBack.addActionListener(this);
        forwardItem.addActionListener(this);
        picForward.addActionListener(this);
        fullscreenItem.addActionListener(this);
        sourceItem.addActionListener(this);
        picView.addActionListener(this);
        reloadItem.addActionListener(this);
        button.addActionListener(this);
        jurl.addActionListener(this);
    }
    
    /**
    **實(shí)現(xiàn)監(jiān)聽器接口的actionPerformed函數(shù)
    */
    public void actionPerformed(ActionEvent e) {
        String url = "";
        //點(diǎn)擊轉(zhuǎn)向按鈕
        if (e.getSource() == button){
            //獲得地址欄的內(nèi)容
            url=jurl.getText (); 
            //url不為“”,并且以“http://”開頭
            if(url.length ()>0&&url.startsWith ("http://")){ 
                try { 
                    //JEditorPane組件顯示url的內(nèi)容鏈接
                    jEditorPane1.setPage (url); 
                    //將url的內(nèi)容添加到ArrayList對象history中
                    history.add(url); 
                    //historyIndex的數(shù)值設(shè)為history對象的長度-1
                    historyIndex=history.size()-1;
                    //重新布局
		    jEditorPane1.setEditable(false); //add by copy editor :)
                    jEditorPane1.revalidate (); 
                } 
                catch(Exception ex) { 
                    //如果鏈接顯示失敗,則彈出選擇對話框“無法打開該搜索頁”
                    JOptionPane.showMessageDialog (WebBrowser.this,"無法打開該搜索頁","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);
                } 
            } 
            //url不為“”,并且不以“http://”開頭
            else if(url.length ()>0&&!url.startsWith ("http://")) { 
                //在url前面添加“http://”
                url="http://"+url; 
                try { 
                    jEditorPane1.setPage (url ); 
                    history.add(url); 
                    historyIndex=history.size()-1;
		    jEditorPane1.setEditable(false); //add by copy editor :)
                    jEditorPane1.revalidate (); 
                } 
                catch(Exception ex) {
                    JOptionPane.showMessageDialog (WebBrowser.this,"無法打開該搜索頁","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);
                } 
            }
            //沒有輸入url,即url為空
            else if(url.length ()==0){
                JOptionPane.showMessageDialog (WebBrowser.this,"請輸入鏈接地址","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);
            }
        
        }
        //輸入地址后點(diǎn)擊回車
        else if (e.getSource() == jurl){
            url=jurl.getText (); 
            if(url.length ()>0&&url.startsWith ("http://")) { 
                try { 
                    jEditorPane1.setPage (url); 
                    history.add(url); 
                    historyIndex=history.size()-1;
		    jEditorPane1.setEditable(false); //add by copy editor :)
                    jEditorPane1.revalidate (); 
                    jurl.setMaximumSize (jurl.getPreferredSize ()); 
                } 
                catch(Exception ex) { 
                    JOptionPane.showMessageDialog (WebBrowser.this,"無法打開該搜索頁","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);
                } 
            } 
            else if(url.length ()>0&&!url.startsWith ("http://")) { 
                url="http://"+url; 
                try { 
                    jEditorPane1.setPage (url );
                    history.add(url); 
                    historyIndex=history.size()-1;
		    jEditorPane1.setEditable(false); //add by copy editor :)
                    jEditorPane1.revalidate (); 
                } 
                catch(Exception ex) { 
                    JOptionPane.showMessageDialog (WebBrowser.this,"無法打開該搜索頁","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);
                } 
            }
            else if(url.length ()==0){

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线免费观看| 伊人婷婷欧美激情| 亚洲欧美另类久久久精品2019| 美国十次了思思久久精品导航| 欧美精品久久99| 亚洲成人动漫在线观看| 欧美日韩一区二区不卡| 亚洲不卡一区二区三区| 欧美日韩精品系列| 日韩精品1区2区3区| 91精品国产综合久久福利| 日产国产欧美视频一区精品| 欧美在线观看一区| 亚洲成av人影院| 欧美一区二区三区婷婷月色| 精品一区二区久久| 久久久欧美精品sm网站| 国产自产v一区二区三区c| 久久久精品一品道一区| 99久久精品免费观看| 久久久欧美精品sm网站| 成人精品视频.| 亚洲精品精品亚洲| 欧美日韩在线不卡| 韩国精品免费视频| 中文字幕一区在线观看视频| 色综合久久88色综合天天免费| 亚洲国产精品久久久久婷婷884| 欧美三级日韩三级| 国产在线一区观看| 国产精品久久久久一区二区三区 | 日韩黄色免费电影| 精品国产一区a| 春色校园综合激情亚洲| 亚洲影院久久精品| 日韩一区二区三区免费看| 国产一区在线观看视频| 中文字幕一区二区三区不卡 | 亚洲日本va在线观看| 91捆绑美女网站| 天天射综合影视| 日本一区二区三区视频视频| 国产成人久久精品77777最新版本| 精品国产一区a| 91黄色免费看| 精品午夜久久福利影院| 国产精品美女久久久久高潮| 欧美日韩和欧美的一区二区| 久久99国产精品尤物| 亚洲精品国产无套在线观| 欧美成人性福生活免费看| 色天天综合久久久久综合片| 久久69国产一区二区蜜臀| 亚洲欧洲av色图| 欧美精品第1页| 不卡视频免费播放| 蜜桃在线一区二区三区| 亚洲欧美韩国综合色| 日韩一级二级三级精品视频| 色综合久久久网| 国产一区二区电影| 国产精品美女一区二区三区| 91精品国产黑色紧身裤美女| www.成人在线| 国产精品原创巨作av| 偷拍一区二区三区| 亚洲精品成人a在线观看| 国产午夜精品一区二区三区四区| 欧美性做爰猛烈叫床潮| 国产高清一区日本| 美女任你摸久久| 亚洲一区二区四区蜜桃| 国产精品黄色在线观看| 久久在线免费观看| 欧美一区二区三区人| 欧美三级电影精品| 风间由美性色一区二区三区| 亚洲国产成人av网| 亚洲免费在线电影| 国产精品久久精品日日| 久久精品视频网| 欧美大白屁股肥臀xxxxxx| 欧美zozo另类异族| 欧美精品久久99久久在免费线| 99re亚洲国产精品| 国产不卡高清在线观看视频| 丝袜脚交一区二区| 五月天亚洲婷婷| 三级影片在线观看欧美日韩一区二区| 亚洲欧美日本韩国| 亚洲免费观看高清在线观看| 国产精品久久久久一区二区三区共 | 日韩欧美国产综合| 欧美日韩在线直播| 欧美色精品天天在线观看视频| 97se亚洲国产综合自在线不卡 | 国产日韩高清在线| 国产三级一区二区| 国产精品福利一区二区三区| 国产精品国产三级国产aⅴ中文| 国产日韩欧美a| 亚洲人成人一区二区在线观看| 国产午夜精品久久| 久久蜜桃av一区二区天堂 | 日本不卡的三区四区五区| 日韩在线播放一区二区| 美女一区二区在线观看| 精品亚洲成a人在线观看| 国产精品99久| 国产sm精品调教视频网站| 成人免费看视频| 色综合久久99| 91麻豆精品国产91久久久| 精品视频在线视频| 欧美一区永久视频免费观看| 2023国产精品视频| 中文字幕不卡的av| 亚洲自拍欧美精品| 精品一区二区久久| 9久草视频在线视频精品| 不卡av在线网| 91看片淫黄大片一级在线观看| 欧美在线一区二区三区| 欧美高清激情brazzers| 777a∨成人精品桃花网| 精品欧美黑人一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 国产三级精品视频| 亚洲综合在线电影| 国产在线不卡一区| 7799精品视频| 亚洲一区日韩精品中文字幕| 国产河南妇女毛片精品久久久| 欧美区视频在线观看| ...av二区三区久久精品| 久久99国产精品成人| 欧美丰满美乳xxx高潮www| 国产精品视频你懂的| 青青草国产精品亚洲专区无| 欧美综合在线视频| 国产精品成人免费精品自在线观看| 免费成人在线观看视频| 欧美在线观看一二区| 亚洲免费观看高清完整版在线 | 69堂国产成人免费视频| 亚洲人成在线播放网站岛国| 国产麻豆精品在线观看| 欧美成va人片在线观看| 五月综合激情婷婷六月色窝| 精品国产乱码久久久久久图片| 亚洲自拍偷拍图区| 日本久久精品电影| 自拍av一区二区三区| 成人伦理片在线| 国产日产亚洲精品系列| 青青草伊人久久| 欧美一区二区三区白人| 亚洲国产综合91精品麻豆| 色呦呦一区二区三区| 亚洲天堂中文字幕| eeuss鲁片一区二区三区| 国产精品久久久一本精品| av欧美精品.com| 1000精品久久久久久久久| 99久久精品免费精品国产| 亚洲天堂久久久久久久| 91在线观看下载| 亚洲猫色日本管| 在线视频你懂得一区| 亚洲精品高清在线观看| 欧美午夜一区二区三区免费大片| 一区二区免费看| 欧美日韩精品欧美日韩精品| 日韩经典中文字幕一区| 日韩一区二区中文字幕| 久久不见久久见中文字幕免费| 日韩欧美国产综合| 国产乱理伦片在线观看夜一区| 欧美国产视频在线| 97精品视频在线观看自产线路二| 一区二区三区日韩欧美精品| 欧美日韩一区二区三区免费看 | 一区二区理论电影在线观看| 欧美日韩不卡一区二区| 六月丁香综合在线视频| 久久久www成人免费毛片麻豆 | 亚洲国产一区二区a毛片| 欧美美女激情18p| 久久精品噜噜噜成人88aⅴ| 久久精品亚洲精品国产欧美kt∨| 成人午夜av电影| 亚洲亚洲人成综合网络| 日韩一区二区三区视频| 粉嫩av一区二区三区粉嫩| 亚洲综合清纯丝袜自拍| 欧美成人r级一区二区三区| 不卡的av电影在线观看| 视频精品一区二区| 国产欧美精品一区二区三区四区| 91极品美女在线|