过去我使用 JEditorPane,现在我正在尽力使用 JavaFX WebEngine。如何为显示页面上包含超链接的事件注册侦听器(例如链接选择或单击链接)?
在 JEditorPane 中有 addHyperlinkListener 方法...
编辑:
我遵循了第一个答案中的建议。这是我的代码:
webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
public void changed(ObservableValue ov, State oldState, State newState) {
if (newState == Worker.State.SUCCEEDED) {
// note next classes are from org.w3c.dom domain
EventListener listener = new EventListener() {
public void handleEvent(Event ev) {
System.out.println("KLIKNIETO!!!");
}
};
Document doc = webEngine.getDocument();
Element el = doc.getElementById("a");
NodeList lista = doc.getElementsByTagName("a");
System.out.println("Liczba elementow: "+ lista.getLength());
for (int i=0; i<lista.getLength(); i++)
((EventTarget)lista.item(i)).addEventListener("click", listener, false);
}
}
});
我现在在单击链接后收到事件。但是我需要参考点击的链接(以获取它的内容)。我怎样才能做到这一点?