home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import java.awt.event.ActionEvent;
- import java.net.MalformedURLException;
- import java.net.URL;
- import javax.swing.JEditorPane;
- import javax.swing.event.HyperlinkEvent;
- import javax.swing.event.HyperlinkEvent.EventType;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.Document;
- import javax.swing.text.JTextComponent;
- import javax.swing.text.TextAction;
- import javax.swing.text.html.HTML.Attribute;
- import javax.swing.text.html.HTML.Tag;
-
- class HTMLEditorKit$ActivateLinkAction extends TextAction {
- public HTMLEditorKit$ActivateLinkAction(String var1) {
- super(var1);
- }
-
- public void actionPerformed(ActionEvent var1) {
- JTextComponent var2 = ((TextAction)this).getTextComponent(var1);
- if (var2 instanceof JEditorPane) {
- JEditorPane var3 = (JEditorPane)var2;
- if (!((JTextComponent)var3).isEditable()) {
- if (var3 != null) {
- Document var4 = ((JTextComponent)var3).getDocument();
- if (var4 != null) {
- HTMLDocument var5 = (HTMLDocument)var4;
- HTMLDocument.Iterator var6 = var5.getIterator(Tag.A);
- int var7 = ((JTextComponent)var3).getCaretPosition();
-
- String var8;
- for(var8 = null; var6.isValid(); var6.next()) {
- AttributeSet var9 = var6.getAttributes();
- if (var9 != null) {
- String var10 = (String)var9.getAttribute(Attribute.HREF);
- if (var10 != null && var7 >= var6.getStartOffset() && var7 <= var6.getEndOffset()) {
- var8 = var10;
- break;
- }
- }
- }
-
- if (var8 != null) {
- try {
- URL var13 = (URL)var4.getProperty("stream");
- URL var14 = new URL(var13, var8);
- HyperlinkEvent var11 = new HyperlinkEvent(var3, EventType.ACTIVATED, var14);
- var3.fireHyperlinkUpdate(var11);
- } catch (MalformedURLException var12) {
- }
- }
- }
- }
-
- }
- }
- }
- }
-