JavaFX:click事件的监听器

时间:2017-10-13 09:39:57

标签: javafx javafx-webengine

我只想打印"已执行点击操作"在控制台中,如果在嵌入式浏览器中加载的页面上执行任何单击,为此我得到了以下代码,一切正常,但是在addEventListener下面,即程序显示错误,

((EventTarget) el).addEventListener("click", listener, false);

这是我从中获得的完整代码段  https://docs.oracle.com/javafx/2/api/javafx/scene/web/WebEngine.html

        EventListener listener = new EventListener() {
    public void handleEvent(Event ev) {
        System.out.println("Click Operation has been performed");
    }
};
Document doc = webEngine.getDocument();
Element el = doc.getElementById("dummyid");
((EventTarget) el).addEventListener("click", listener, false);

1 个答案:

答案 0 :(得分:0)

如您提供的链接中所示,您可以使用JSObject.setMember方法来调用Java方法。

public class JavaApplication {
    public void exit() {
        Platform.exit();
    }
}
...
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", new JavaApplication());

您可以从网页拨打电话

<a href="" onclick="app.exit()">Click here to exit application</a>

这可能是替代解决方案,而不是使用处理程序