Javafx open another fxml in the another window with button
73,547
Solution 1
Use the code below on button click:
try {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Demo.fxml"));
Parent root1 = (Parent) fxmlLoader.load();
Stage stage = new Stage();
stage.initModality(Modality.APPLICATION_MODAL);
stage.initStyle(StageStyle.UNDECORATED);
stage.setTitle("ABC");
stage.setScene(new Scene(root1));
stage.show();
}
Solution 2
I had to modify the code a bit and it works fine. Thank you again for the code!
public void pressButton(ActionEvent event) throws Exception {
try {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/A.fxml"));
Parent root1 = (Parent) fxmlLoader.load();
Stage stage = new Stage();
stage.setScene(new Scene(root1));
stage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
Related videos on Youtube
![Sevi](https://i.stack.imgur.com/W8wZj.jpg?s=256&g=1)
Comments
-
Sevi almost 2 years
Is it possible in javafx to open new stages (windows) from another fxml with a button? Thanks for the answers.
-
James_D over 9 yearsYes. Can you show some code and explain which part you are stuck with?
-
-
Sevi over 9 yearsThank you it works this code, but I'd like a window can be moved separately and close top right corner.
-
Serafins almost 9 yearsTo move and close window comment line with style: StageStyle.UNDECORATED
-
vivanov over 5 yearsIt's also a good idea to add
stage.onCloseRequestProperty().setValue(e -> Platform.exit());
to the starting window's stage in order to exit the application closing all the other windows on pressing it's close button.