2016-02-18 2 views
2

У меня есть JTextPane с HyperLinkListenerJava HyperLinkListener JTextPane Null URL

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); 

     } 
    } 
    }); 

JTextPant создается с HTML и в этом HTML-файле У меня есть две ссылки.

    <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> 

Там нет проблем с получением протокола MailTo, возвращает "MAILTO", но URL для телнет возвращает нуль

Есть идеи? Если требуется больше информации скажи :)

ответ

1

Попробуйте использовать hyperlinkevent.getDescription(); вместо hyperlinkevent.getURL();

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

Да, я думал об этом, но я все равно хочу протоколы знать функции Wich для вызова. Думаю, я мог бы просто разделить строку и получить нужную мне информацию. Спасибо за ответ. –

+0

Добро пожаловать! Да, это способ сделать. Удачи! –

+0

Я сделал это таким образом, это был самый простой способ сделать это. Благодарю. –

Смежные вопросы