zoukankan      html  css  js  c++  java
  • 浏览器雏形代码

    package explorer;
    
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.net.URL;
    
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextField;
    import javax.swing.JToolBar;
    import javax.swing.event.HyperlinkEvent;
    import javax.swing.event.HyperlinkListener;
    /**
     * java浏览器雏形
     * @author tiger
     */
    @SuppressWarnings("serial")
    public class TigerExplorer extends JFrame{
    
    	
    	private JTextField field ;
    	private JEditorPane pane;
    	
    	
    	public TigerExplorer(String defaultUrl) {
    		field = new JTextField(defaultUrl, 40);
    		JToolBar bar = new JToolBar();
    		bar.add(new JLabel("Location:"));
    		bar.add(field);
    		
    		pane = new JEditorPane();
    		pane.setEditable(false);
    		
    		this.setTitle("tiger explorer");
    		Container contentpane = this.getContentPane();
    		contentpane.add(bar, BorderLayout.NORTH);
    		contentpane.add(new JScrollPane(pane), BorderLayout.CENTER);
    		
    		
    		this.setSize(600, 400);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    		field.addActionListener(
    			new ActionListener(){
    				public void actionPerformed(ActionEvent e) {
    					openUrl(e.getActionCommand());
    				}
    			}
    		);
    		
    		pane.addHyperlinkListener(new LinkActivator());
    		
    		openUrl(defaultUrl);
    	}
    	
    	
    	
    	private void openUrl(String urlString) {
    		if(urlString == null || urlString.trim().length() == 0)
    		{
    			return;
    		}
    		if(!urlString.startsWith("http://"))
    		{
    			urlString = "http://" + urlString;
    		}
    		
    		try {
    			URL url = new URL(urlString);
    			pane.setPage(url);
    			field.setText(url.toExternalForm());
    		} catch (Exception e) {
    			System.out.println("Couldn't open " + urlString + " : " + e);
    			pane.setText("Couldn't open " + urlString + " : " + e); 
    		}
    	}
    	
    	
    	class LinkActivator implements HyperlinkListener
    	{
    		public void hyperlinkUpdate(HyperlinkEvent e) {
    			if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
    			{
    				openUrl(e.getURL().toExternalForm());
    			}
    		}
    	}
    	
    	
    	public static void main(String[] args) {
    		String defaultUrl = "";
    		new TigerExplorer(defaultUrl).setVisible(true);
    	}
    
    
    }
    
    
  • 相关阅读:
    Mythological VI
    新访问计划
    数学小记
    【Learning】带花树——一般图最大匹配
    朋友
    【bzoj 1414】对称的正方形 单调队列+manacher
    【半集训记录】
    【codeforces 718E】E. Matvey's Birthday
    【codeforces 718 C&D】C. Sasha and Array&D. Andrew and Chemistry
    【bzoj 3233】[Ahoi2013]找硬币 ——搜索
  • 原文地址:https://www.cnblogs.com/chaohi/p/1950612.html
Copyright © 2011-2022 走看看