Invoquer la méthode Stage.initOwner() en utilisant la méthode onAction d'un MenuItem
Bonjour tout le monde,
j'aimerais afficher une fenêtre en cliquant sur un MenuItem.
voici mon essai:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
public class MainController implements Initializable {
@FXML
private MenuBar menuBar;// juste pour récupérer la scène;
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
@FXML // méthode qui sert d'afficher la fenêtre
public void show(ActionEvent event) throws IOException{
Parent root = FXMLLoader.load(getClass().getResource("FXML.fxml"));
Scene scene = new Scene(root);
Stage stage = new Stage();
stage.initModality(Modality.APPLICATION_MODAL);
stage.initOwner(menuBar.getScene().getWindow());
stage.show();
}
} |
puisque MenuItem n'est pas un un sous classe de Node, donc je ne peux pas invoquer getScene(). c'est pour cela j'ai été obligé d'ajouter les lignes suivantes:
Code:
1 2
| @FXML
private MenuBar menuBar; |
malgré çà, j n'arrive pas à afficher la fenêtre dont le fichier FXML est 'FXML.fxml' !!