Search code examples
javahyperlinkjtextpane

Java HyperLinkListener JTextPane Null url


I have a JTextPane with a HyperLinkListener

  m_textPane.addHyperlinkListener(new HyperlinkListener()
  {

    @Override
    public void hyperlinkUpdate(HyperlinkEvent hyperlinkevent)
    {
      EventType eventType = hyperlinkevent.getEventType();
      if (eventType == HyperlinkEvent.EventType.ACTIVATED)
      {

         URL url = hyperlinkevent.getURL();
         hyperLinkClicked(hyperlinkevent);

      }
    }
  });

The JTextPant is created with HTML and in this HTML file I have two Links.

                    <tr>
                        <td valign="top" class="label">Telefon:</td>
                        <td class="value">

                            <a href="telnet:[PhoneNumber.primary.number]">
                              [PhoneNumber.primary.number] 
                            </a>     
                        </td>

                    </tr>
                    <tr>
                        <td valign="top" class="label">Mobil:</td>
                        <td class="value">[PhoneNumber:Mobil.number]</td>
                    </tr>
                    <tr>
                        <td valign="top" class="label">Arbete:</td>
                        <td class="value">[PhoneNumber:Arbete.number]</td>
                    </tr>
                    <tr>
                        <td valign="top" class="label">E-post:</td>
                        <td class="value">
                            <a href="mailto:[Email.primary.address|]">
                                [Email.primary.address|]
                            </a>
                        </td>
                    </tr>
                </table>

There is no problem getting the mailto protocol, returns "mailto" but the url for the telnet returns null

Any ideas? If any more information is needed tell me :)


Solution

  • Try to use hyperlinkevent.getDescription(); instead of hyperlinkevent.getURL();

    public void hyperlinkUpdate(HyperlinkEvent e) {
        if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
            String description = e.getDescription();
            ...
        }
    }