Ответ 1
Вот несколько частей:
Правильно настройте JEditorPane
JEditorPane
должен иметь тип контекста text/html
, и он должен быть недействительным для ссылок, которые можно щелкнуть:
final JEditorPane editor = new JEditorPane();
editor.setEditorKit(JEditorPane.createEditorKitForContentType("text/html"));
editor.setEditable(false);
Добавить ссылки
Вам нужно добавить фактические теги <a>
в редактор, чтобы они отображались как ссылки:
editor.setText("<a href=\"http://www.google.com/finance?q=NYSE:C\">C</a>, <a href=\"http://www.google.com/finance?q=NASDAQ:MSFT\">MSFT</a>");
Добавить обработчик ссылок
По умолчанию щелчок по ссылкам ничего не сделает; вам нужно HyperlinkListener
, чтобы справиться с ними:
editor.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
// Do something with e.getURL() here
}
}
});
Как вы запускаете браузер для обработки e.getURL()
, зависит от вас. Один из способов использования Java 6 и поддерживаемой платформы - использовать класс Desktop
:
if(Desktop.isDesktopSupported()) {
Desktop.getDesktop().browse(e.getURL().toURI());
}