I\'m converting a pure JavaFx app, in which the code below worked fine when put all in one class, to a FXML one, where the Stage declaration and the button handler are in se
In your situation, it is probably easiest to get the scene from the ActionEvent parameter of your handler:
@FXML
private void handleSourceBrowse(ActionEvent ae) {
Node source = (Node) ae.getSource();
Window theStage = source.getScene().getWindow();
sourceDirectoryChooser.showDialog(theStage);
}
See JavaFX: How to get stage from controller during initialization? for some more information. I am not in favor of the highest rated answer though, since it adds a compile time dependency to the controller after the .fxml file has been loaded (after all that question was tagged with javafx-2, so not sure if the above approach already worked there, and also the context of the question looks a bit different).
See also How do I open the JavaFX FileChooser from a controller class?