je lis un fichier.txt appelé "listeEvaluateurTXT" contenant une liste de nom.
Sur un menu, je peux creer un nouvel evaluateur dans ce fameux fichier .txt
Lorsque je clique sur la liste, mon nouvel evaluateur n'existe toujours pas.
Si je ferme l'application et la relance, là, le nouvel evaluateur existe.
Comment faire un "refresh" de la liste 'evaluateurs losrque celle ci est modifiée?
Meri par avance
Code lecture fichier :
// Menu Evaluateurs
JMenuBar menuConfigEvaluateur = new JMenuBar();
JMenu configEvaluateur = new JMenu("Evaluateurs");
JMenu configEvaluateurPresence = new JMenu("Présents");
JMenuItem configEvaluateurNouveau = new JMenuItem("Nouveau");
JMenuItem configEvaluateurSuppression = new JMenuItem("Supprimer");
configEvaluateur.add(configEvaluateurPresence);
configEvaluateur.add(configEvaluateurNouveau);
configEvaluateur.add(configEvaluateurSuppression);
menuConfigEvaluateur.add(configEvaluateur);
// Affichage des Evaluateurs deja inscrits
FileReader listeEvaluateurTXT = new FileReader("listeEvaluateurs.txt");
BufferedReader lectureFichierEvaluateur = new BufferedReader(listeEvaluateurTXT);
lectureFichierEvaluateur.mark(0);
lectureFichierEvaluateur.reset();
String line;
int numeroEvaluateurFichier = 1;
while ((line = lectureFichierEvaluateur.readLine()) != null) {
String line2 = line;
JCheckBoxMenuItem checkBoxEvaluateursPresents = new JCheckBoxMenuItem(line);
configEvaluateurPresence.add(checkBoxEvaluateursPresents);
// Ajoute une fonction qui verifie letat Checked ou non
checkBoxEvaluateursPresents.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {// checkbox has been selected
if (checkBoxEvaluateursPresents.isSelected()) {
String nomEvaluateur = checkBoxEvaluateursPresents.getText();
System.out.println(nomEvaluateur);
}
} else {// checkbox has been deselected
// do something...
}
;
}
});
numeroEvaluateurFichier++;
}
lectureFichierEvaluateur.close();
Code ecriture dans le fichier :
// Ajout de nouveaux Evaluateurs
String newLine = System.getProperty("line.separator");
configEvaluateurNouveau.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
String nouveauNomEvaluateur = (String) JOptionPane.showInputDialog(null, "Entrez le NOM",
"Nouvel Evaluateur", JOptionPane.QUESTION_MESSAGE);
if (nouveauNomEvaluateur != null) {
String nouveauPrenomEvaluateur = (String) JOptionPane.showInputDialog(null, "Entrez le Prénom",
"Nouvel Evaluateur", JOptionPane.QUESTION_MESSAGE);
if (nouveauPrenomEvaluateur != null) {
int choixEvaluateur = JOptionPane.showOptionDialog(null,
"En validant, le nouvel Evaluateur sera enregistré dans la base de donnée." + newLine
+ " Souhaitez vous enregistrer :" + newLine + nouveauNomEvaluateur + " "
+ nouveauPrenomEvaluateur + " ?",
"Nouvel Evaluateur", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
null, null);
if (choixEvaluateur == JOptionPane.YES_OPTION) {
nouveauNomEvaluateur = nouveauNomEvaluateur.toUpperCase();
nouveauPrenomEvaluateur = nouveauPrenomEvaluateur.toLowerCase();
Path fichierEvaluateur = Paths.get("listeEvaluateurs.txt");
String nomPrenomEvaluateur = nouveauNomEvaluateur + " " + nouveauPrenomEvaluateur + "\n";
try {
Files.write(fichierEvaluateur, nomPrenomEvaluateur.getBytes(),
StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.APPEND);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
});
Merci par avance, Renan
Actualiser le contenu d'un fichier
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.