Здравствуйте, у меня есть три контроллера: LoginController->HomeController->UserController
Я передаю некоторые переменные следующим образом:
in LoginController
Я получил это:
private HomeScreenController home;
public HomeScreenController getHome() {
return home;
}
public void setHome(HomeScreenController home) {
this.home = home;
}
inТо же самое LoginController
Я загружаю Fxmldocument, который ссылается на HomeScreenController
Как это:
----Bunch of code here---
if(!usuarioadmin.equals(fusuario.getText().toString())&&pass.equals(fcontrasena.getText().toString().trim())&&usus.equals(fusuario.getText().toString().trim()) ) {
try {
Stage homescreen=new Stage();
FXMLLoader carga = new FXMLLoader(getClass().getResource("HomeScreen.fxml"));
Parent StackPane =(Parent) carga.load();
/*HomeScreenController control = carga.<HomeScreenController>getController();
control.deshabilitarespuesta();*/
LoginController loginn = carga.<LoginController>getController();
String a=loginn.fusuario.getText();
String b=loginn.fcontrasena.getText();
carga.setController(home);
home.validauser.setText(a);
home.validapass.setText(b);
UserController user= carga.<UserController>getController();
if(!a.equals("rikardoroa")&& !b.equals("@r@gorn")) {
user.registrosuser.setDisable(true);
}
Scene scene = new Scene(StackPane);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
homescreen.setScene(scene);
homescreen.setTitle("HomeScreen");
Stage login=(Stage)fusuario.getScene().getWindow();
login.hide();
homescreen.show();
}catch(Exception e) {
Logger.getLogger(Application.class.getName()).log(Level.SEVERE, null, e);
}
}
в HomeController
Я получил это:
public TextField validauser;
public TextField validapass;
в UserController
iесть это:
@FXML public JFXButton registrosuser;
проблема в том, что когда я ввожу пароль и пользователя из локальной учетной записи (не администратор), я получил эту ошибку:
java.lang.ClassCastException: application.HomeScreenController cannot be cast to application.LoginController
консоль показывает мне эту строку:
LoginController loginn = carga.<LoginController>getController();
Несмотря на то, что на трех этапах StackPane имеет статус Parents, в чем моя ошибка? любая ориентация. С уважением.