public void doClick() { if (myClickIsBeingProcessed) return; try { myClickIsBeingProcessed = true; if (myLinkListener != null) myLinkListener.linkSelected(this, myLinkData); ourVisitedLinks.add(myVisitedLinksKey); repaint(); } finally { myClickIsBeingProcessed = false; } }
@Override public void mouseReleased(final MouseEvent e) { if (linkListener == null) return; if (SwingUtilities.isLeftMouseButton(e)) { editor.endSelection(); // evaluate link if (!editor.selected()) { final TextIterator iter = rend.jump(e.getPoint()); final String link = iter.link(); if (link != null) linkListener.linkClicked(link); } } }