2017-05-16 8 views
0

J'utilise JavaFX. Je voudrais commencer un FileChooser à partir du répertoire du programme, le référentiel initial devrait donc être celui du programme.Définir le répertoire du programme comme le répertoire initial de JavaFX FileChooser

Voici ma déclaration FileChooser:

FileChooser chooser = new FileChooser(); 
chooser.getExtensionFilters().addAll(
new ExtensionFilter("Text Files", "*.txt"), 
new ExtensionFilter("All Files", "*.*")); 
chooser.setTitle("Choisir un fichier"); 
file = chooser.showOpenDialog(new Stage()); 

Comment puis-je faire cela?

+0

cette question est déjà répondu [ici] (http://stackoverflow.com/questions/32318974/javafx-filechooser-initial-directory). Vous pouvez également consulter [le document java] (https://docs.oracle.com/javase/8/javafx/api/javafx/stage/FileChooser.html). La méthode que vous recherchez est setInitialDirectory (valeur du fichier). – alvaro

+0

Ce n'était pas. La réponse que vous donnez indique comment définir le répertoire de l'utilisateur en tant que répertoire initial. Ce n'est pas ma question. –

+0

Que signifie "le répertoire du programme"? –

Répondre

1

Le répertoire actuel est ".". Voici comment vous pouvez le faire:

FileChooser chooser = new FileChooser(); 
String currentPath = Paths.get(".").toAbsolutePath().normalize().toString(); 
chooser.setInitialDirectory(new File(currentPath)); 
chooser.showOpenDialog(new Stage()); 

Edit: la scène ou JavaFX nœud que vous devez passer à la FileChooser est celui que vous voulez être son parent.