方法如何调用?

时间:2013-10-04 08:58:18

标签: user-interface javafx-2

目前我在JavaFX 2上开发GUI,并且我找到了很好的oracle示例:FXML-LoginDemo。在这个示例2场景(基于FXML)中,第1个是AuthoriseForm,第2个是UserData更改,Main类有下一个方法:

public boolean userLogging(String userId, String password){
    if (Authenticator.validate(userId, password)) {
        loggedUser = User.of(userId);
        gotoProfile();
        return true;
    } else {
        return false;
    }
}

gotoProfile(); - 改变场景..

LoginController类有下一个方法:

 public void processLogin(ActionEvent event) {
        if (application == null){
            // We are running in isolated FXML, possibly in Scene Builder.
            // NO-OP.
            errorMessage.setText("Hello " + userId.getText());
        } else {
            if (!application.userLogging(userId.getText(), password.getText())){
                errorMessage.setText("Username/Password is incorrect");
            }
        }
    }

processLogin()代码中没有调用..所以问题是:按下后processLogin()如何调用

@FXML
Button login;

1 个答案:

答案 0 :(得分:0)

以下是Login.fxml文件的链接。

该文件包含以下行:

<Button id="button1" fx:id="login" defaultButton="true" onAction="#processLogin" prefHeight="70.0" prefWidth="400.0" text="Login" AnchorPane.bottomAnchor="66.0" AnchorPane.leftAnchor="40.0" AnchorPane.rightAnchor="40.0" />

该行设置此属性:

onAction="#processLogin"

该属性表示按钮单击(ActionEvent)应为handled by a method defined in the controller