import java.awt.*;
import java.net.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

import java.io.*;

public class myBrowser implements ActionListener,HyperlinkListener {

 JLabel msgLbl;
 JTextField urlText;
 JEditorPane content;
 JScrollPane JSPanel;
 JPanel panel;
 Container con;
 JFrame mainJframe;
 
 public myBrowser(){
  mainJframe = new JFrame("我的浏览器");
  mainJframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  con = mainJframe.getContentPane();
  
  msgLbl = new JLabel("输入地址:");
  urlText = new JTextField();
  urlText.setColumns(20);
  urlText.addActionListener(this);
  panel = new JPanel();
  panel.setLayout(new FlowLayout());
  panel.add(msgLbl);
  panel.add(urlText);
  
  content = new JEditorPane();
  content.setEditable(false);
  content.addHyperlinkListener(this);
  JSPanel = new JScrollPane(content);
  
  con.add(panel,BorderLayout.NORTH);
  con.add(JSPanel,BorderLayout.CENTER);
  mainJframe.setSize(800,600);
  mainJframe.setVisible(true);
 
  
 }
 public void actionPerformed(ActionEvent e){
  try{
   URL url = new URL(urlText.getText());
   content.setPage(urlText.getText());
  }catch(MalformedURLException e1){
   JOptionPane.showMessageDialog(mainJframe, "连接错误1");
  }catch(IOException e1){
   JOptionPane.showMessageDialog(mainJframe, "连接错误2");
  }
 }
 
 public void hyperlinkUpdate(HyperlinkEvent e){
  if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED){
   try{
    URL url = e.getURL();
    content.setPage(url);
    urlText.setText(e.getURL().toString());
   }catch(MalformedURLException e1){
    JOptionPane.showMessageDialog(mainJframe, "连接错误3");
   }catch(IOException e1){
    JOptionPane.showMessageDialog(mainJframe, "连接错误4");
   }
  }
 }
 public static void main(String args[]){
  new myBrowser();
 }
}