 /**
  * taken from an example in the Java Swing documentation
  */
 class Hyperactive implements HyperlinkListener {
   public void hyperlinkUpdate(HyperlinkEvent e) {
     if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
       JEditorPane pane = (JEditorPane) e.getSource();
       if (e instanceof HTMLFrameHyperlinkEvent) {
         HTMLFrameHyperlinkEvent  evt = (HTMLFrameHyperlinkEvent)e;
         HTMLDocument doc = (HTMLDocument)pane.getDocument();
         doc.processHTMLFrameHyperlinkEvent(evt);
       } // frame
       else {
         try { pane.setPage(e.getURL());
         } catch (Throwable t) { t.printStackTrace(); }
       } // nonframe
     } // activated
   } // hyperlinkUpdate
 } // Hyperactive

