I have one window witch contain a single BorderPane, in the top i have button when clicked thez display in the center the content of another .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")));
}
}
the display is working fine, what i want to do next is a button in my first page to switch to another one,
~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();
}
}
when my button "change page" is clicked the changePage method is executed but my controller is null so it can't do "change_to_page3()"
how can i call my method "change_to_page3()" witch doesn't not have any arguments from my controller "FXMLDocumentController" in my controller "FXMLDocumentControllerPage1"