Bonjour,
J'aimerais sauver les élements de la liste d'un JComboBox dans un fichier. J'utilise pour cela la sérialisation comme expliqué dans la documentation de Sun.
Tout se passe bien, sans erreur, mais lorsque je lis le fichier, la liste est apparemment vide.
Le code pour sauver et lire l'objet est grosso modo le même que celui donné en exemple dans la Javadoc.
Ci-dessous j'appelle la méthode d'écriture ci l'utilisateur a entré du texte qui n'est pas dans la liste de sélection :
J'ai vérifié, le bloc if est exécuté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if(choixDebut.getIndexOf(champDebut) < 0) { choixDebut.addElement(champDebut); try { FileSaver.save(Config.nomChoixDebut, choixDebut); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
Voici la méthode pour initialiser choixDebut, le modèle de données du JComboBox
La première fois évidemment, le constructeur est appelé. Le fichier est bien créé au moment voulu, contient des données, mais lorsque j'exécute le code une seconde fois, le JComboBox est vide.
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 private DefaultComboBoxModel getChoixDebut() { if(choixDebut == null) { try { choixDebut = (DefaultComboBoxModel) FileSaver.restore(Config.cheminRessources + Config.nomChoixDebut); } catch (FileNotFoundException e) { //Le fichier n'existe pas ou a été supprimé choixDebut = new DefaultComboBoxModel(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return choixDebut; }
Je sens l'erreur stupide, quelqu'un a une idée ?
Partager