home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / text / html / HTMLEditorKit$LinkController.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  2.6 KB  |  68 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.Point;
  4. import java.awt.event.MouseAdapter;
  5. import java.awt.event.MouseEvent;
  6. import java.io.Serializable;
  7. import java.net.MalformedURLException;
  8. import java.net.URL;
  9. import java.util.EventObject;
  10. import javax.swing.JEditorPane;
  11. import javax.swing.event.HyperlinkEvent;
  12. import javax.swing.event.HyperlinkEvent.EventType;
  13. import javax.swing.text.AttributeSet;
  14. import javax.swing.text.DefaultStyledDocument;
  15. import javax.swing.text.Document;
  16. import javax.swing.text.Element;
  17. import javax.swing.text.JTextComponent;
  18. import javax.swing.text.html.HTML.Attribute;
  19. import javax.swing.text.html.HTML.Tag;
  20.  
  21. public class HTMLEditorKit$LinkController extends MouseAdapter implements Serializable {
  22.    protected void activateLink(int var1, JEditorPane var2) {
  23.       Document var3 = ((JTextComponent)var2).getDocument();
  24.       if (var3 instanceof HTMLDocument) {
  25.          HTMLDocument var4 = (HTMLDocument)var3;
  26.          Element var5 = ((DefaultStyledDocument)var4).getCharacterElement(var1);
  27.          AttributeSet var6 = var5.getAttributes();
  28.          AttributeSet var7 = (AttributeSet)var6.getAttribute(Tag.A);
  29.          String var8 = var7 != null ? (String)var7.getAttribute(Attribute.HREF) : null;
  30.          if (var8 != null) {
  31.             URL var9;
  32.             try {
  33.                var9 = new URL(var4.getBase(), var8);
  34.             } catch (MalformedURLException var12) {
  35.                var9 = null;
  36.             }
  37.  
  38.             Object var10 = null;
  39.             if (!var4.isFrameDocument()) {
  40.                var10 = new HyperlinkEvent(var2, EventType.ACTIVATED, var9, var8);
  41.             } else {
  42.                String var11 = (String)var7.getAttribute(Attribute.TARGET);
  43.                if (var11 == null || var11.equals("")) {
  44.                   var11 = "_self";
  45.                }
  46.  
  47.                var10 = new HTMLFrameHyperlinkEvent(var2, EventType.ACTIVATED, var9, var8, var11);
  48.             }
  49.  
  50.             var2.fireHyperlinkUpdate((HyperlinkEvent)var10);
  51.          }
  52.       }
  53.  
  54.    }
  55.  
  56.    public void mouseClicked(MouseEvent var1) {
  57.       JEditorPane var2 = (JEditorPane)((EventObject)var1).getSource();
  58.       if (!((JTextComponent)var2).isEditable()) {
  59.          Point var3 = new Point(var1.getX(), var1.getY());
  60.          int var4 = ((JTextComponent)var2).viewToModel(var3);
  61.          if (var4 >= 0) {
  62.             this.activateLink(var4, var2);
  63.          }
  64.       }
  65.  
  66.    }
  67. }
  68.