Как я уже говорил в моем комментарии Вы должны попробовать JTextPane вместо JTextArea .
Для того, чтобы гиперссылка работала, вам необходимо выполнить следующие действия:
- сделать textPane editable = false.
- добавить к нему HyperlinkListener, чтобы вы могли отслеживать событие активации ссылки.
Краткая демонстрация выглядит следующим образом:
final JTextPane textPane = new JTextPane();
textPane.setEditable(false);
textPane.setContentType("text/html");
textPane.setText("File not found please contact:<a href='mailto:michael@uml.com'>e-mail to</a> or call 9639");
textPane.addHyperlinkListener(new HyperlinkListener() {
@Override
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
System.out.println(e.getURL());
// write your logic here to process mailTo link.
}
}
});
Пример открытия почтового клиента через Java:
try {
Desktop.getDesktop().mail(new URI(e.getURL() + ""));
} catch (IOException e1) {
e1.printStackTrace();
} catch (URISyntaxException e1) {
e1.printStackTrace();
}