Bonjour,
j'ai une méthode qui traite une liste de répertoires présents dans une JTable (affichée à l'écran). Lorsqu'un des répertoire est en cours de traitement je fais évoluer le contenu de la Jtable afin de savoir où il en est exactement. Sauf que fait les affichages intermédiaires ne se font pas. Seule la dernière valeur inscrite s'effectue. Pour fixer les idées, voici mon programme en pseudo-code (pas du vrai Java pour simplifier la lecture)
J'ai fait quelques recherches concernant les problèmes de rafraichissement de JTable (qui semble être une question récurrente). Et j'ai donc déjà testé plusieurs solutions proposées, principalement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 for (i = 0; i < VRows.size(); i++) { for each File in directory VRows[i][0] { VRows[i][1] = File.getName(); // Instructions de rafraichissement de la JTable ... // Mon traitement sur le fichier ... } }
- un revalidate()
- un revalidate() suivi d'un repaint()
- un fireTableDataChanged apres avoir modifié le modèle par défaut
Malheureusement aucune de ces méthodes n'a marché. Visiblement tant que je ne suis pas sorti de ma boucle la JTable ne se rafraichit pas.
J'ai aussi fait une tentative en appelant Thread.sleep(10) (dans la version avec un validate() et repaint()) au cas où. Mais là encore sans résultat.
Quelqu'un aurait une idée?
Partager