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 :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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 commencé comme ça :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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
Y aurait-il une âme charitable pour m'aider à convertir le code réalisé avec Swing en code compatible JavaFX ?
Merci par avance.
Partager