Comment puis-je ouvrir le JavaFX FileChooser à partir d'un contrôleur de classe?
Mon problème est que tous les exemples de l'utilisation de FileChooser
vous oblige à passer à une étape. Seul problème, c'est que mon INTERFACE est définie dans un fxml
fichier, qui utilise un contrôleur de classe distincte de la scène principale.
@FXML protected void locateFile(ActionEvent event) {
FileChooser chooser = new FileChooser();
chooser.setTitle("Open File");
chooser.showOpenDialog(???);
}
Que dois-je mettre à la ???
pour le faire fonctionner? Comme je l'ai dit, je n'ai pas de références à tous les stades de la classe de contrôleur, de sorte que dois-je faire?
Vous devez vous connecter pour publier un commentaire.
Pour tout nœud dans votre scène (par exemple, le nœud racine; mais tout nœud que vous avez injecté avec
@FXML
fera), nefx:id
ou suis-je complètement à côté de l'idée?fx:id
. Mais vous n'avez pas à utiliser le nœud racine, il suffit d'utiliser quelque chose pour lequel vous avez déjà unfx:id
et ont injecté dans le contrôleur (tous les nœuds sont dans la même scène...). Vous pouvez également faire deNode node = (Node) event.getSource();
mais je l'aime moins, en raison de la baissés.Vous n'avez pas à coller avec la Scène créée dans l'Application, vous pouvez soit:
Ou si vous souhaitez continuer à utiliser la même scène, alors vous devez passer à l'étape au contrôleur avant:
et vous aurez la scène principale de l'Application, il sera utilisé comme vous s'il vous plaît.
À partir d'un élément de menu
Sinon, ce qui a fonctionné pour moi: il suffit de mettre
null
.