【问题标题】:JavaFX JavaScript upcall with arguments带参数的 JavaFX JavaScript 调用
【发布时间】:2013-02-08 01:10:42
【问题描述】:

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

此代码不起作用。

【问题讨论】:

  • 我已经到处寻找这个问题的答案。我用谷歌搜索过它,搜索过 stackoverflow,并且我已经阅读了 oracle 教程,所以我做了研究。至于清楚,我不知道如何使它更清楚。我要去我的一些代码来回答这个问题。
  • "这段代码不起作用" 嗯,它有什么作用?

标签: java javascript arguments javafx


【解决方案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)。

【讨论】:

  • 感谢您的时间和帮助,但我必须在这行 script.setMember("app", SignIn(arg1, arg2)); 中传递参数。此行调用方法 SignIn(String, String),因此删除调用中的参数将是无效的。也许 JavaFX 不支持带参数的向上调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
  • 2016-11-29
相关资源
最近更新 更多