home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / text / html / HTMLEditorKit$LinkController.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  2.5 KB  |  53 lines

  1. package com.sun.java.swing.text.html;
  2.  
  3. import com.sun.java.swing.JEditorPane;
  4. import com.sun.java.swing.event.HyperlinkEvent;
  5. import com.sun.java.swing.event.HyperlinkEvent.EventType;
  6. import com.sun.java.swing.text.AttributeSet;
  7. import com.sun.java.swing.text.Document;
  8. import com.sun.java.swing.text.Element;
  9. import com.sun.java.swing.text.JTextComponent;
  10. import com.sun.java.swing.text.StyledDocument;
  11. import java.awt.Point;
  12. import java.awt.event.MouseAdapter;
  13. import java.awt.event.MouseEvent;
  14. import java.net.MalformedURLException;
  15. import java.net.URL;
  16. import java.util.EventObject;
  17.  
  18. public class HTMLEditorKit$LinkController extends MouseAdapter {
  19.    public void mouseClicked(MouseEvent var1) {
  20.       JEditorPane var2 = (JEditorPane)((EventObject)var1).getSource();
  21.       if (!((JTextComponent)var2).isEditable()) {
  22.          Point var3 = new Point(var1.getX(), var1.getY());
  23.          int var4 = ((JTextComponent)var2).viewToModel(var3);
  24.          if (var4 >= 0) {
  25.             this.activateLink(var4, var2);
  26.          }
  27.       }
  28.  
  29.    }
  30.  
  31.    protected final void activateLink(int var1, JEditorPane var2) {
  32.       Document var3 = ((JTextComponent)var2).getDocument();
  33.       if (var3 instanceof StyledDocument) {
  34.          StyledDocument var4 = (StyledDocument)var3;
  35.          Element var5 = var4.getCharacterElement(var1);
  36.          AttributeSet var6 = var5.getAttributes();
  37.          String var7 = (String)var6.getAttribute("href");
  38.          if (var7 != null) {
  39.             URL var8;
  40.             try {
  41.                var8 = new URL(var2.getPage(), var7);
  42.             } catch (MalformedURLException var10) {
  43.                var8 = null;
  44.             }
  45.  
  46.             HyperlinkEvent var9 = new HyperlinkEvent(var2, EventType.ACTIVATED, var8);
  47.             var2.fireHyperlinkUpdate(var9);
  48.          }
  49.       }
  50.  
  51.    }
  52. }
  53.