Mega Code Archive

 
Categories / Java Tutorial / Swing Event
 

JEditorPane and HyperlinkEvent

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; public class MainClass extends JFrame {   protected JEditorPane mEditorPane;   protected JTextField mURLField;   public MainClass() {     super();     JToolBar urlToolBar = new JToolBar();     mURLField = new JTextField(40);     urlToolBar.add(new JLabel("Location:"));     urlToolBar.add(mURLField);     frame.add(urlToolBar, BorderLayout.NORTH);     mEditorPane = new JEditorPane();     mEditorPane.setEditable(false);     frame.add(new JScrollPane(mEditorPane), BorderLayout.CENTER);     openURL("http://www.rntsoft.com");     mURLField.addActionListener(new ActionListener() {       public void actionPerformed(ActionEvent ae) {         openURL(ae.getActionCommand());       }     });     mEditorPane.addHyperlinkListener(new LinkActivator());     setSize(500, 600);     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   }   protected void openURL(String urlString) {     try {       URL url = new URL(urlString);       mEditorPane.setPage(url);       mURLField.setText(url.toExternalForm());     } catch (Exception e) {       System.out.println("Couldn't open " + urlString + ":" + e);     }   }   class LinkActivator implements HyperlinkListener {     public void hyperlinkUpdate(HyperlinkEvent he) {       HyperlinkEvent.EventType type = he.getEventType();       if (type == HyperlinkEvent.EventType.ACTIVATED)         openURL(he.getURL().toExternalForm());     }   }   public static void main(String[] args) {     new MainClass().setVisible(true);   } }