将Controller中的参数提供给JavaFX中的另一个Controller无法正常工作

时间:2016-08-08 05:34:37

标签: java javafx javafx-8

是的,我看到了这个答案Passing Parameters JavaFX FXML。但它不起作用。

setDayParting来自ControllerNº1,但当我在ControllerNº2中调用updatePreview时,我传递的参数不存在。 为什么这不起作用?

  • 在ControllerNº1中传递参数:

    private void giveParameterToController() {
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(Main.newFileScreenFile));
        NewFileScreenController newFileScreenController;
        try {
            Pane pane = fxmlLoader.load();
            newFileScreenController = fxmlLoader.getController();
            newFileScreenController.setDayParting("Working");
            myController.setScreen(Main.newFileScreen);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
  • 控制器Nº2:

public void setDayParting(String parting){
    dayParting = parting;
    System.out.println(dayParting);
}

private void updatePreview(){
    System.out.println(dayParting);
}
output:
Working
null

0 个答案:

没有答案