在JavaFX的WebView中通过JavaScript回调Java的程序,可以通过JSObject.setMember的方法来实现。该方法可以通过JavaScript向上层访问Java代码,具体请看一下示例。Java代码先建立一个新的名为“app”的JavaScript对象。该对象哦呢共有一个公共成员,及exit方法。
public class JavaApplication {
public void exit() {
Platform.exit();
}
}
...
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", new JavaApplication());
这样之后,你就可以在HTML页面内通过app对象来访问类中的方法:
<a href="" οnclick="app.exit()">Click here to exit application</a>
这就相当与一个JavaScript和Java之间的桥梁。