将变量传递给另一个控制器

时间:2019-10-08 23:22:01

标签: javafx

您好,我需要将用户和值传递给另一个控制器: 像这样的AdminController-> UserController。

在我的代码中,我在the #endif for this directive is missing[1,2] unrecognized preprocessing directive[24,2] expected a declaration[25,1] 中有此标签:

AdminController

这是在我的private TextField fusuario; @FXML private PasswordField fcontrasena; String a; String b; public void captura() { a=fusuario.getText().toString(); System.out.println("el usuario es x:"+a); b=fcontrasena.getText().toString(); System.out.println("la contraseña es x:"+b); } public String setFusuario(String a) { this.fusuario.setText(a); return a; } public String setFcontrasena(String b) { this.fcontrasena.setText(b); return b; } 中:

UserController

我如何传递这些价值观,帮助或方向?

1 个答案:

答案 0 :(得分:0)

这很容易,您需要在FIRST Controller中声明这样的静态变量

static String alertTYPE;

然后在我们的错误检查代码中,为alertTYPE提供一个值

   if(txtAmount.getLength() == 0){
        alertTYPE = "1";
        customAlert();
        txtAmount.requestFocus();
        return;
    }

现在,我们仍在同一Controller类中调用customAlert()方法
她是customAlert方法代码

    public void customAlert() throws IOException{
    // This method displays the MODAL Alert alert.fxml and it is controlled by AlertController
    // =========================================================================================
    alertPane = FXMLLoader.load(getClass().getResource("alert.fxml"));// pane you are GOING TO

    //Scene Sscene = new Scene(merrorPane, 600, 400);
    // NO NEED TO RE-SIZE but this is code to change size 
    Scene Mscene = new Scene(alertPane);
    Mstage = new Stage();
    Mstage.initStyle(StageStyle.UNDECORATED);
    Mstage.setResizable(false);
    Mstage.initModality(Modality.APPLICATION_MODAL);
    Mstage.setScene(Mscene);

    Mstage.showAndWait();
}

在AlertController中,我们使用了alertTYPE值

    @Override
public void initialize(URL url, ResourceBundle rb) {

    if(alertTYPE.equals("1")){
        lblMessage.setText("Enter "+type+" Amount");
    }else if(alertTYPE.equals("2")){

您需要确保要导入的Controller像这样导入静态变量alertTYPE

import static checkbook.CBManagerController.alertTYPE;

这是一个很长的路要走,但我们希望您能想到这个主意
声明静态变量并给定值后,请务必谨慎,直到为变量赋予新值为止,或者对于String alertTYPE =“”,将其设置为无此值之前,请务必注意。强大的力量伴随着巨大的责任哈哈