Conversion d'un JFileChooser en FileChooser
Bonjour à tous !
Sur un précédent programme j'ai créé une fonction de sauvegarde grace à un JFileChooser car j'avais construit mon interface graphique avec Swing.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| sauvegarder.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser sauver = new JFileChooser();
sauver.setDialogTitle("Sauvegarder");
sauver.showSaveDialog(null);
File nomInter = sauver.getSelectedFile();
String testage = sauver.getSelectedFile().getName();
int n = 4;
int length = testage.length();
if (length < 4) {
JFrame frameCorrec = new JFrame();
JOptionPane.showMessageDialog(frameCorrec, "Vous devez entrer un nom d'au moins 4 caractères !");
}
else {
String fin = testage.substring(length -n, length);
if (fin.equals("noty")) { // Pour ne pas ajouter l'extension ".noty" si elle est déjà présente dans le nom.
nomFichier = sauver.getSelectedFile() + "";
}
else {
nomFichier = sauver.getSelectedFile() + ".noty";
}
if (nomInter != null) {
Path path = Paths.get(nomFichier);
try (DataOutputStream out = new DataOutputStream(Files.newOutputStream(path))) { // Ecriture des variables nécessaires à la sauvegarde dans un fichier.
out.writeUTF(base.Variables.prenom);
out.writeInt(base.Variables.genre);
out.writeUTF(base.Variables.situation);
} catch (IOException h) {
h.printStackTrace();
}
JFrame frameInfo = new JFrame();
JOptionPane.showMessageDialog(frameInfo, "Partie sauvegardée avec succès !", "Information", JOptionPane.INFORMATION_MESSAGE);
}
}
}
}); |
J'ai tenté de réutiliser ce code dans mon nouveau programme à la différence près que cette fois-ci je construit l'interface graphique avec JavaFX (je débute et c'est vraiment pas mal ;) ).
J'ai commencé comme ça :
Code:
1 2 3 4 5 6 7
| @FXML
protected void save() {
FileChooser sauver = new FileChooser();
sauver.setTitle("Sauvegarder");
sauver.showSaveDialog(null);
File nomInter = sauver.getSelectedFile();
} |
Mais à la dernière ligne la méthode "getSelectedFile()" n'est pas applicable avec un FileChooser (contrairement au JFileChooser). J'ai regardé dans la doc Java et je ne vois pas de méthode équivalente...
Y aurait-il une âme charitable pour m'aider à convertir le code réalisé avec Swing en code compatible JavaFX ?
Merci par avance.