如何在JavaFX中将对象传递到第二个窗口?
这个问题我已经被问过好几次了,但不幸的是,我无法从给出的答案中解决问题。最适合我,容易理解 我有1个主控制器、2个控制器(主控制器、辅助控制器)和2个fxml(主控制器、辅助控制器)文件。这是我从主控制器打开第二个窗口的方式:如何在JavaFX中将对象传递到第二个窗口?,java,user-interface,javafx,controller,fxml,Java,User Interface,Javafx,Controller,Fxml,这个问题我已经被问过好几次了,但不幸的是,我无法从给出的答案中解决问题。最适合我,容易理解 我有1个主控制器、2个控制器(主控制器、辅助控制器)和2个fxml(主控制器、辅助控制器)文件。这是我从主控制器打开第二个窗口的方式: @FXML private void handleButtonOpenSecondWindow(ActionEvent event) { try{ FXMLLoader fxmlLoader = new FXMLLoader(getClass()
@FXML
private void handleButtonOpenSecondWindow(ActionEvent event) {
try{
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("SecondWindow.fxml"));
Parent root1 = (Parent) fxmlLoader.load();
Stage stage = new Stage();
stage.initModality(Modality.APPLICATION_MODAL);
stage.setTitle("Second Window");
stage.setScene(new Scene(root1));
stage.show();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
这很好,我只想在上面的括号中添加我的对象
也许:
root1.setMyObjects(object1, object2);
我试图将代码转换为我喜欢的答案,但当我为辅助控制器创建构造函数时,
Parent root1=(Parent)fxmloader.load()代码>行总是失败(但从主控制器调用时它会工作)。我有一个initialize()代码>方法以及辅助控制器中的方法。我尝试使用构造函数,但没有使用构造函数,将构造函数部分放入initialize()代码>但都不起作用。。。如果您能帮忙,我会很高兴。您应该在第一个控制器中使用全局变量,并在第二个控制器中获取变量