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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? webbrowser.java

?? 這是一個用Java語言編寫的網頁瀏覽器。
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
**網頁瀏覽器主程序
**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 (); 
    
    //建立網頁顯示界面
    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 ("前進");
    
    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 adress=Box.createHorizontalBox ();    

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

    /**
    **構造函數
    **初始化圖形用戶界面
    */
    public WebBrowser(){
        
        setTitle ("網頁瀏覽器"); 
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    
        //為jEditorPane1添加事件偵聽
        jEditorPane1.addHyperlinkListener (this);
        
        //為組件fileMenu設置熱鍵‘F’
        fileMenu.setMnemonic('F'); 
        
        saveAsItem.setMnemonic ('S'); 
        //為“另存為”組件設置快捷鍵為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 (); 
            
        //設置大小
        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); 
        
        //為組件添加事件監聽
        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);
    }
    
    /**
    **實現監聽器接口的actionPerformed函數
    */
    public void actionPerformed(ActionEvent e) {
        String url = "";
        //點擊轉向按鈕
        if (e.getSource() == button){
            //獲得地址欄的內容
            url=jurl.getText (); 
            //url不為“”,并且以“http://”開頭
            if(url.length ()>0&&url.startsWith ("http://")){ 
                try { 
                    //JEditorPane組件顯示url的內容鏈接
                    jEditorPane1.setPage (url); 
                    //將url的內容添加到ArrayList對象history中
                    history.add(url); 
                    //historyIndex的數值設為history對象的長度-1
                    historyIndex=history.size()-1;
                    //重新布局
		    jEditorPane1.setEditable(false); //add by copy editor :)
                    jEditorPane1.revalidate (); 
                } 
                catch(Exception ex) { 
                    //如果鏈接顯示失敗,則彈出選擇對話框“無法打開該搜索頁”
                    JOptionPane.showMessageDialog (WebBrowser.this,"無法打開該搜索頁","網頁瀏覽器",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,"無法打開該搜索頁","網頁瀏覽器",JOptionPane.ERROR_MESSAGE);
                } 
            }
            //沒有輸入url,即url為空
            else if(url.length ()==0){
                JOptionPane.showMessageDialog (WebBrowser.this,"請輸入鏈接地址","網頁瀏覽器",JOptionPane.ERROR_MESSAGE);
            }
        
        }
        //輸入地址后點擊回車
        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,"無法打開該搜索頁","網頁瀏覽器",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,"無法打開該搜索頁","網頁瀏覽器",JOptionPane.ERROR_MESSAGE);
                } 
            }
            else if(url.length ()==0){
                JOptionPane.showMessageDialog (WebBrowser.this,"請輸入鏈接地址","網頁瀏覽器",JOptionPane.ERROR_MESSAGE);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国模一区二区三区| 国产成人日日夜夜| 三级欧美在线一区| 久久精品国产免费| 成人免费黄色在线| 欧美日韩五月天| 日韩你懂的电影在线观看| 日本一区二区三区四区 | 自拍偷拍亚洲欧美日韩| 亚洲bt欧美bt精品777| 国产成人午夜片在线观看高清观看| 成人免费毛片app| 欧美一级片免费看| 一区二区理论电影在线观看| 国内成+人亚洲+欧美+综合在线 | 久久色.com| 日韩精品欧美精品| 97久久超碰国产精品| 亚洲另类中文字| 欧美精品一二三区| 亚洲欧美日韩中文播放| 风间由美性色一区二区三区| 国产精品久久影院| 成人av手机在线观看| 国产丝袜在线精品| 日本免费在线视频不卡一不卡二| bt7086福利一区国产| 亚洲精品在线免费观看视频| 日韩不卡一区二区三区 | 亚洲国产欧美日韩另类综合| 久久国产精品无码网站| 欧美浪妇xxxx高跟鞋交| 亚洲欧美激情小说另类| 色琪琪一区二区三区亚洲区| 亚洲欧美日韩小说| 欧美中文字幕不卡| 日本视频在线一区| www激情久久| 国产福利精品导航| 久久久久亚洲蜜桃| 国产不卡免费视频| 中文字幕中文乱码欧美一区二区| www.一区二区| 一区二区三区欧美视频| 欧美午夜精品免费| 久久99国产精品尤物| 国产精品―色哟哟| 色综合久久99| 国产一区二区三区四区五区美女 | 成人午夜电影小说| 亚洲综合视频在线| 欧美一区二区三区爱爱| 99国内精品久久| 青青青爽久久午夜综合久久午夜| 日韩久久久精品| 9l国产精品久久久久麻豆| 一区二区三区在线视频免费| 在线不卡免费欧美| 91在线播放网址| 国产一区二区精品久久91| 亚洲激情自拍偷拍| 中文字幕乱码久久午夜不卡| 日本高清视频一区二区| 国产又粗又猛又爽又黄91精品| 一色桃子久久精品亚洲| 欧美精品一区在线观看| 69堂国产成人免费视频| 在线看不卡av| 国产不卡高清在线观看视频| 麻豆91小视频| 秋霞电影一区二区| 青青青爽久久午夜综合久久午夜| 亚洲午夜电影网| 亚洲伦理在线免费看| 国产精品国产三级国产| 久久老女人爱爱| 国产亚洲成aⅴ人片在线观看| 欧美丰满高潮xxxx喷水动漫| 7777精品伊人久久久大香线蕉的 | 久久精品欧美日韩| 国产亚洲美州欧州综合国 | 日本女人一区二区三区| 亚洲18女电影在线观看| 亚洲一区二区欧美日韩| 亚欧色一区w666天堂| 爽好久久久欧美精品| 欧美a级一区二区| 激情深爱一区二区| 国产精品99久| 色综合天天性综合| 欧美日韩亚洲综合一区二区三区| 4438x成人网最大色成网站| 久久综合成人精品亚洲另类欧美 | 成人高清伦理免费影院在线观看| 成人精品免费看| 91久久精品一区二区| 欧美色图片你懂的| 久久在线观看免费| 久久亚洲一区二区三区四区| 国产日产精品一区| 偷拍与自拍一区| 国产一区亚洲一区| 欧美日韩一区二区在线观看视频| 欧美成人乱码一区二区三区| 久久久久国产精品麻豆| 一区二区三区日韩精品| 精品亚洲免费视频| 6080国产精品一区二区| 亚洲三级小视频| 国产一区二区三区黄视频 | 精品国产乱码久久久久久浪潮| 国产精品午夜电影| 秋霞午夜鲁丝一区二区老狼| 欧美在线观看禁18| 一区二区三区**美女毛片| 国产a区久久久| 久久亚洲精品小早川怜子| 婷婷久久综合九色综合伊人色| 99精品视频一区| 久久精品在线观看| 成人免费黄色大片| 欧美国产精品v| 国产一区免费电影| 欧美国产日韩精品免费观看| 99久久久精品| 亚洲男帅同性gay1069| 91浏览器打开| 最新热久久免费视频| 91丨porny丨国产入口| 一区二区三区鲁丝不卡| av电影一区二区| 午夜视频一区在线观看| 欧美日韩成人在线一区| 午夜精品福利视频网站| 精品1区2区在线观看| 99这里只有久久精品视频| 一区二区三区高清不卡| 在线综合亚洲欧美在线视频| 久久99九九99精品| 国产精品久久久久7777按摩| 欧美性一级生活| 久久99精品国产麻豆不卡| 中文字幕中文字幕在线一区| 欧美日韩中文精品| 国产精品一区专区| 日韩精品久久理论片| 欧美极品xxx| 欧美一区二区三区在线电影| 丁香亚洲综合激情啪啪综合| 天天av天天翘天天综合网| 国产亚洲成年网址在线观看| 91精品国产综合久久久久久久| 成人精品在线视频观看| 免费日韩伦理电影| 亚洲免费高清视频在线| 国产视频在线观看一区二区三区| 欧美在线你懂的| 色综合久久天天| 97超碰欧美中文字幕| 国产成人av在线影院| 狠狠色丁香九九婷婷综合五月| 亚洲成国产人片在线观看| 国产精品乱码人人做人人爱| 精品国精品自拍自在线| 日韩欧美在线观看一区二区三区| 91麻豆免费观看| 成人激情免费视频| 粉嫩绯色av一区二区在线观看| 麻豆视频一区二区| 日韩中文字幕不卡| 日本欧美久久久久免费播放网| 一区二区三区四区亚洲| 亚洲自拍偷拍av| 日本v片在线高清不卡在线观看| 亚洲国产精品自拍| 日本亚洲天堂网| 毛片一区二区三区| 国产精品动漫网站| 亚洲国产视频一区二区| 日韩av电影天堂| 另类综合日韩欧美亚洲| 国产美女精品在线| 色婷婷香蕉在线一区二区| 91麻豆精品国产91久久久使用方法| 欧美一区二区黄| 国产精品网站在线| 一区二区三区中文在线观看| 天堂成人免费av电影一区| 国产精品66部| 欧美剧情电影在线观看完整版免费励志电影 | 成人永久看片免费视频天堂| jizz一区二区| 欧美性生交片4| 久久综合网色—综合色88| 国产精品国产自产拍高清av| 亚洲一区二区欧美| 国内久久精品视频| 97精品久久久午夜一区二区三区| 色爱区综合激月婷婷| 欧美伦理电影网|