我需要知道如何使用参数从JavaScript调用JavaFX。一些示例代码:
JSObject script = (JSObject) webEngine.executeScript("window");
script.setMember("app", SignIn(arg1, arg2));
private boolean SignIn(String uid, String passwd) {
boolean signedIn = false;
System.out.println("Signing In");
return signedIn;
}
HTML
<html>
<body>
<a onclick="app.SignIn(uid, passwd)">Click to sign in</a>
</body>
</html>
此代码不起作用。
答案 0 :(得分:1)
该行
script.setMember("app", SignIn(arg1, arg2));
似乎是错的。尝试
script.setMember("app", new SignInManager());
其中SignInManager是包含SignIn(String uid,String passwd)方法的类。您可以在这一行上进行类比:
app = new SignInManager();
然后在javascript代码中使用它
app.SignIn(uid, passwd)
点击活动。所以(作为对下面评论的回复)你实际上是在这里将参数从javascript代码传递给Java代码。
按照惯例,方法名称应以小写字母开头,如signIn(String uid,String passwd)。