Java tutorial
import java.awt.BorderLayout; import java.awt.Dimension; import java.io.IOException; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleHyperlink; import javax.accessibility.AccessibleHypertext; import javax.accessibility.AccessibleText; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; public class MainClass extends JFrame implements HyperlinkListener { JEditorPane view; MainClass() throws IOException { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); view = new JEditorPane("http://www.java2s.com"); view.setEditable(false); view.setPreferredSize(new Dimension(400, 400)); view.addHyperlinkListener(this); getContentPane().add(new JScrollPane(view), BorderLayout.CENTER); pack(); setVisible(true); } public void hyperlinkUpdate(HyperlinkEvent e) { try { view.setPage(e.getURL()); } catch (java.io.IOException e2) { } } public static void main(String[] args) throws IOException { MainClass ad4 = new MainClass(); ad4.dumpHypertextInfo(ad4.getAccessibleContext()); } void dumpHypertextInfo(AccessibleContext ac) { AccessibleText at = ac.getAccessibleText(); AccessibleHypertext ah = null; if (at instanceof AccessibleHypertext) ah = (AccessibleHypertext) at; if (ah != null) { int nLinks = ah.getLinkCount(); for (int i = 0; i < nLinks; i++) { AccessibleHyperlink ahl = ah.getLink(i); int nActions = ahl.getAccessibleActionCount(); for (int j = 0; j < nActions; j++) { String s = ahl.getAccessibleActionDescription(j); System.out.println("Action = " + s); } } return; } int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpHypertextInfo(ac.getAccessibleChild(i).getAccessibleContext()); } }