从另一个控制器

时间:2017-12-10 19:49:17

标签: java javafx fxml

我有一个窗口女巫包含一个BorderPane,在顶部我有按钮时单击thez显示在中心另一个.fxml的内容

〜FXMLDocument.java

public class FXMLDocumentController implements Initializable {
    @FXML private Pane content;
    ...
    @Override
    public void initialize(URL url, ResourceBundle rb) {
    content.getChildren().clear();
    content.getChildren().
                 add(FXMLLoader.load(getClass().getResource("page1.fxml")));
    }
}

显示器工作正常,我接下来要做的是在我的第一页中切换到另一个按钮,

〜FXMLDocument.java

public class FXMLDocumentController implements Initializable {
  public FXMLDocumentControllerPage1 c1;
  @FXML private Pane content;
  @Override
  public void initialize(URL url, ResourceBundle rb) {
    c1 = new FXMLDocumentControllerPage1();
    c1.setController(this);
    ...
  }
  ...
  public void change_to_page3()
  {
    try {
            content.getChildren().clear();
            content.getChildren()
                .add(FXMLLoader.load(getClass().getResource("page3.fxml")));
    } catch (IOException ex) {
            Logger.getLogger(FXMLDocumentController.class.getName())
                                                           .log(Level.SEVERE, null, ex);
    }
  }
}

〜FXMLDocumentControllerPage1.java

public class FXMLDocumentControllerPage1 
{
    private FXMLDocumentController controller ;

    public void setController(FXMLDocumentController c) {
        controller = c;
    }

    @FXML private void changePage(ActionEvent event) {
        if (controller != null)
            controller.change_to_page3();
    }
}

当我的按钮“更改页面”被点击时,执行了changePage方法,但我的控制器为空,因此无法执行“change_to_page3()”

如何调用我的方法“change_to_page3()”我的控制器“FXMLDocumentControllerPage1”中的控制器“FXMLDocumentController”没有任何参数

0 个答案:

没有答案