2013-02-08 27 views
1

我需要知道如何使用參數從JavaScript向JavaFX上調。一些示例代碼:JavaFX帶參數的JavaScript向上調用

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

我已經遍及搜索這個問題的答案。我搜索了它,搜索了stackoverflow,並且我已經閱讀了oracle教程,所以我已經完成了研究。至於說清楚,我不知道如何使它更清晰。我要去我的一些代碼的問題。 – ThunderWolf

+0

「這段代碼不起作用」那它幹什麼? – Doorknob

回答

1

script.setMember("app", SignIn(arg1, arg2)); 

似乎是錯誤的。嘗試

script.setMember("app", new SignInManager()); 

其中SignInManager是包含您的登錄信息(UID字符串,字符串的passwd)方法。您可以在這條線像一個比喻:

app = new SignInManager(); 

然後用它在JavaScript代碼

app.SignIn(uid, passwd) 

上單擊事件。所以(作爲對以下評論的回覆),您實際上是在這裏將參數從JavaScript代碼傳遞給Java代碼。

按照慣例,方法名應該以小寫字母開頭,例如signIn(String uid,String passwd)。

+0

感謝您的時間和幫助,但我必須在此行中傳遞參數script.setMember(「app」,SignIn(arg1,arg2));.這一行調用方法SignIn(String,String),所以刪除調用中的參數將是無效的。也許JavaFX不支持帶參數的上調。 – ThunderWolf

+0

@ThunderWolf。查看更新。 –

+0

謝謝你Uluk比伊! – ThunderWolf