我正在创建一个JavaFX应用程序,并且我有一个User类实例,该实例具有2个变量;用户名和密码。在loginController类上,将创建并验证User对象,然后弹出下一个屏幕。我想使用在homePageController的loginController中创建的相同用户对象,即我想将相同的用户对象传递给下一个控制器。到目前为止,这是我的代码;
这是成功创建用户对象的loginController的代码
public void onClickLogin( ActionEvent event) throws IOException {
User user = new User(userTextField.getText(), passTextField.getText());
user.validate(userTextField.getText(), passTextField.getText());
System.out.println(user.getUsername());
if(user.getUsername().equals(userTextField.getText()) && user.getPassword().equals(passTextField.getText())) {
FXMLLoader loader = new FXMLLoader(getClass().getResource("../view/Personell.fxml") );
Parent root = (Parent) loader.load();
//here I want to pass the user object to the next controller once the user logins in sucessfuly
Scene scene2View = new Scene(root);
Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
window.setScene(scene2View);
window.show();
}
这是homePage控制器的代码,我需要在loginPage中创建的用户对象:
public class PersonnelController implements Initializable{
// In this class I need to have access to the user Object already created
@FXML private Button logOutButton;
@FXML
public void onClickLogOutButton(ActionEvent event) throws IOException {
FXMLLoader loader = new FXMLLoader(getClass().getResource("../view/Login.fxml") );
Parent root = (Parent) loader.load();
Scene scene2View = new Scene(root);
Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
window.setScene(scene2View);
window.show();
}
@Override
public void initialize(URL location, ResourceBundle resources) {
}
}