2016-02-17 2 views
0

J'ai une fenêtre JavaFX simple avec un TextField pour que les utilisateurs puissent entrer un chemin de fichier et un lien de navigation séparé.Comment obtenir le chemin de fichier de JavaFX FileChooser?

JavaFX Window

enter image description here

Je voudrais demander comment extraire le chemin complet du fichier du fichier sélectionné de JavaFX FileChooser (je peux définir le chemin dans le champ de texte)?

Je comprends ce que je suis en train de réaliser peut se faire simplement avec JFileChooser Swing avec quelque chose comme:

JFileChooser chooser = new JFileChooser(); 
String someString = chooser.getSelectedFile().toString(); 

Mais depuis mon application est en JavaFX je veux qu'il ait un aspect cohérent et non un mélange avec Swing.

Je l'ai regardé à travers la documentation, il ne semble pas être une méthode pour cette https://docs.oracle.com/javase/8/javafx/api/javafx/stage/FileChooser.html

Merci à l'avance.

Répondre

2

Voici une autre documentation. Ce que vous obtenez en retour de l'utilisation de showOpenDialog est un objet File.

Fichier showOpenDialog public (fenêtre ownerWindow)

Affiche une nouvelle boîte de dialogue d'ouverture de fichier. La méthode ne retourne pas jusqu'à ce que la boîte de dialogue ouverte affichée soit fermée. La valeur de retour spécifie le fichier choisi par l'utilisateur ou null si aucune sélection n'a été faite. Si la fenêtre du propriétaire est définie pour le dialogue de fichier, la saisie dans toutes les fenêtres de la chaîne de propriétaire du dialogue est bloquée pendant l'affichage de la boîte de dialogue.

Un objet de fichier a diverses méthodes comme e. g. getAbsolutePath.

+0

Merci beaucoup monsieur, très apprécié, exactement ce dont j'avais besoin! – Hans

2

Utilisez showOpenDialog ou showSaveDialog (selon que vous souhaitiez ouvrir un fichier existant ou en enregistrer un nouveau). Les deux renvoient un objet File.

+0

Merci beaucoup pour votre aide. Notez que 'showSaveDialog' fonctionne également. – Hans

+0

@Hans: 'showSaveDialog' n'est probablement pas ce que vous voulez dans ce cas, car il permet à l'utilisateur de *" créer un nouveau fichier "* (c'est-à-dire que le fichier retourné peut ne pas exister). – fabian