import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; import javax.swing.event.*; import javax.swing.*; /** * 史上最烂最精简的java版浏览器 */ public class Explorer { public static void main(String args[]) { new LinkWin(); } } class LinkWin extends JFrame implements ActionListener, Runnable { Button button; URL url; TextField text; JEditorPane editpane; byte b[] = new byte[118]; Thread thread; public LinkWin() { text = new TextField(20); editpane = new JEditorPane(); editpane.setEditable(false); button = new Button("确定"); button.addActionListener(this); thread = new Thread(this); Panel p = new Panel(); p.add(new Label("输入网址")); p.add(text); p.add(button); ScrollPane scroll = new ScrollPane(); scroll.add(editpane); add(scroll, BorderLayout.CENTER); add(p, BorderLayout.NORTH); setBounds(60, 60, 360, 300); setVisible(true); validate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); editpane.addHyperlinkListener(new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { try { editpane.setPage(e.getURL()); } catch (IOException e1) { editpane.setText("" + e1); } } } }); } public void actionPerformed(ActionEvent e) { if (!(thread.isAlive())) thread = new Thread(this); try { thread.start(); } catch (Exception ee) { text.setText("我正在读取" + url); } } public void run() { try { editpane.setText(null); url = new URL(text.getText().trim()); editpane.setPage(url); } catch (Exception e1) { text.setText("" + e1); return; } } }