home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import java.awt.Point;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.io.Serializable;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.EventObject;
- import javax.swing.JEditorPane;
- import javax.swing.event.HyperlinkEvent;
- import javax.swing.event.HyperlinkEvent.EventType;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.DefaultStyledDocument;
- import javax.swing.text.Document;
- import javax.swing.text.Element;
- import javax.swing.text.JTextComponent;
- import javax.swing.text.html.HTML.Attribute;
- import javax.swing.text.html.HTML.Tag;
-
- public class HTMLEditorKit$LinkController extends MouseAdapter implements Serializable {
- protected void activateLink(int var1, JEditorPane var2) {
- Document var3 = ((JTextComponent)var2).getDocument();
- if (var3 instanceof HTMLDocument) {
- HTMLDocument var4 = (HTMLDocument)var3;
- Element var5 = ((DefaultStyledDocument)var4).getCharacterElement(var1);
- AttributeSet var6 = var5.getAttributes();
- AttributeSet var7 = (AttributeSet)var6.getAttribute(Tag.A);
- String var8 = var7 != null ? (String)var7.getAttribute(Attribute.HREF) : null;
- if (var8 != null) {
- URL var9;
- try {
- var9 = new URL(var4.getBase(), var8);
- } catch (MalformedURLException var12) {
- var9 = null;
- }
-
- Object var10 = null;
- if (!var4.isFrameDocument()) {
- var10 = new HyperlinkEvent(var2, EventType.ACTIVATED, var9, var8);
- } else {
- String var11 = (String)var7.getAttribute(Attribute.TARGET);
- if (var11 == null || var11.equals("")) {
- var11 = "_self";
- }
-
- var10 = new HTMLFrameHyperlinkEvent(var2, EventType.ACTIVATED, var9, var8, var11);
- }
-
- var2.fireHyperlinkUpdate((HyperlinkEvent)var10);
- }
- }
-
- }
-
- public void mouseClicked(MouseEvent var1) {
- JEditorPane var2 = (JEditorPane)((EventObject)var1).getSource();
- if (!((JTextComponent)var2).isEditable()) {
- Point var3 = new Point(var1.getX(), var1.getY());
- int var4 = ((JTextComponent)var2).viewToModel(var3);
- if (var4 >= 0) {
- this.activateLink(var4, var2);
- }
- }
-
- }
- }
-