J'ai créé une application dans laquelle je dois cliquer sur un objet Menu "Ouvrir ..." pour ouvrir un FileChooser. Les FileChooser s'ouvrent, mais le problème est que je peux cliquer ou fermer la première fenêtre pendant que ce FileChooser est encore ouvert.JavaFX - La fenêtre FileChooser s'ouvre mais l'initialModality par défaut ne fonctionne pas
Est-ce que j'ai un problème avec mon code? Est-il faux de mettre primaryStage
en tant que paramètre à fileChooser.showOpenDialog(primaryStage);
?
Ce sont mes déclarations
private Stage primaryStage;
Ceci est ma méthode de démarrage.
@Override
public void start(Stage primaryStage) {
this.primaryStage = primaryStage;
primaryStage.setTitle("Ontology - Language Disorders");
primaryStage.centerOnScreen();
initRootLayout();
showOntologyOverview();
primaryStage.show();
}
Ceci est mon OpenDialog
@FXML
private void handleOpenMenuItem(ActionEvent event){
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Resource File");
fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("OWL (*.owl)", "*.owl"));
fileChooser.showOpenDialog(primaryStage);
}
Mon initRootLayout:
public void initRootLayout() {
try {
// Load root layout from fxml file.
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainApp.class.getResource("RootLayout.fxml"));
rootLayout = (BorderPane) loader.load();
// Show the scene containing the root layout.
Scene scene = new Scene(rootLayout);
primaryStage.setScene(scene);
primaryStage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
Ce n'est pas ce qui se passe. Je ne sais vraiment pas pourquoi, je peux toujours faire une interaction comme fermer la fenêtre principale :( – Calips
Je suis confus.Est-ce votre sous-classe 'Application', ou est-ce votre classe de contrôleur? –
J'ai utilisé la même classe pour les deux , je veux dire que l'application principale a ces méthodes – Calips