home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / html / HTMLEditorKit$ActivateLinkAction.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.1 KB  |  61 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.net.MalformedURLException;
  5. import java.net.URL;
  6. import javax.swing.JEditorPane;
  7. import javax.swing.event.HyperlinkEvent;
  8. import javax.swing.event.HyperlinkEvent.EventType;
  9. import javax.swing.text.AttributeSet;
  10. import javax.swing.text.Document;
  11. import javax.swing.text.JTextComponent;
  12. import javax.swing.text.TextAction;
  13. import javax.swing.text.html.HTML.Attribute;
  14. import javax.swing.text.html.HTML.Tag;
  15.  
  16. class HTMLEditorKit$ActivateLinkAction extends TextAction {
  17.    public HTMLEditorKit$ActivateLinkAction(String var1) {
  18.       super(var1);
  19.    }
  20.  
  21.    public void actionPerformed(ActionEvent var1) {
  22.       JTextComponent var2 = ((TextAction)this).getTextComponent(var1);
  23.       if (var2 instanceof JEditorPane) {
  24.          JEditorPane var3 = (JEditorPane)var2;
  25.          if (!((JTextComponent)var3).isEditable()) {
  26.             if (var3 != null) {
  27.                Document var4 = ((JTextComponent)var3).getDocument();
  28.                if (var4 != null) {
  29.                   HTMLDocument var5 = (HTMLDocument)var4;
  30.                   HTMLDocument.Iterator var6 = var5.getIterator(Tag.A);
  31.                   int var7 = ((JTextComponent)var3).getCaretPosition();
  32.  
  33.                   String var8;
  34.                   for(var8 = null; var6.isValid(); var6.next()) {
  35.                      AttributeSet var9 = var6.getAttributes();
  36.                      if (var9 != null) {
  37.                         String var10 = (String)var9.getAttribute(Attribute.HREF);
  38.                         if (var10 != null && var7 >= var6.getStartOffset() && var7 <= var6.getEndOffset()) {
  39.                            var8 = var10;
  40.                            break;
  41.                         }
  42.                      }
  43.                   }
  44.  
  45.                   if (var8 != null) {
  46.                      try {
  47.                         URL var13 = (URL)var4.getProperty("stream");
  48.                         URL var14 = new URL(var13, var8);
  49.                         HyperlinkEvent var11 = new HyperlinkEvent(var3, EventType.ACTIVATED, var14);
  50.                         var3.fireHyperlinkUpdate(var11);
  51.                      } catch (MalformedURLException var12) {
  52.                      }
  53.                   }
  54.                }
  55.             }
  56.  
  57.          }
  58.       }
  59.    }
  60. }
  61.