1
我有一個顯示HTML文本的JTextPane。 HTML文本與標籤有超鏈接...在這種情況下,JTextPane的適當事件偵聽器是什麼?
我想在用戶點擊JTextPane上顯示的html文本內的鏈接時調用java函數。
我該如何做到這一點?如果需要實現事件監聽器?如果是的話,什麼是要處理的適當的事件監聽器?
我有一個顯示HTML文本的JTextPane。 HTML文本與標籤有超鏈接...在這種情況下,JTextPane的適當事件偵聽器是什麼?
我想在用戶點擊JTextPane上顯示的html文本內的鏈接時調用java函數。
我該如何做到這一點?如果需要實現事件監聽器?如果是的話,什麼是要處理的適當的事件監聽器?
你正在尋找的監聽器類型是HyperlinkListener,一些代碼片段:
final JTextPane pane = new JTextPane();
pane.setEditable(false);
pane.setContentType("text/html");
pane.setPage("http://swingx.java.net");
ToolTipManager.sharedInstance().registerComponent(pane);
HyperlinkListener l = new HyperlinkListener() {
@Override
public void hyperlinkUpdate(HyperlinkEvent e) {
if (HyperlinkEvent.EventType.ACTIVATED == e.getEventType()) {
try {
pane.setPage(e.getURL());
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
};
pane.addHyperlinkListener(l);