带参数的 JavaFX JavaScript 上行调用

标签 java javascript arguments javafx

我需要知道如何使用参数从 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>

此代码不起作用。

最佳答案

线路

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)。

关于带参数的 JavaFX JavaScript 上行调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14764139/

相关文章:

java.net.ConnectException : failed to connect to/10. 0.0.2(端口 80):连接失败:ETIMEDOUT(连接超时)

java - EC2 实例上 Tomcat 的 Memcached session 管理器,具有自动缩放属性

javascript - 如何使用 localecompare 对包含负值的数字数组进行排序?

java - Shunting-Yard 算法语句是什么意思?

java - 保证多边形法线的向外方向

java - new 运算符和 Class.newInstance() 有什么区别?

javascript - 无法读取未定义的属性 'open'。谷歌地图信息窗口循环

javascript - 按类别删除 div 的所有子级

macos - Xcode 扩展 + Mac 助手应用程序 + 启动参数?

python - Python 如何以不同方式接收标准输入和参数?