Bonjour à tous,
J'ai une JFrame qui contient un panel général qui lui-même contient un 1er panel avec un label et une JProgressBar et un 2nd panel qui contient un JScrollPane contenant un JTextArea. Le but est de fabriquer une JFrame réutilisable et sympa pour voir les traitements effectuées. Donc le premier panel indique l'état d'avancement, et le second, les fichiers traités.
Je lance le tout d'une classe extérieure qui transmet le nombre de fichiers et ce qu'il faut écrire dans le JTextArea.
Tout se passe bien pour le JProgressBar qui progresse bien (!)
Par contre, j'ai un problème de mise à jour de la barre verticale du scrollbar lorsque j'ajoute du texte dans son JTextArea.
Celui-ci est vide au départ et se rempli bien jusqu'à sa hauteur préférée. Mais lorsque la JScrollBar devrait arriver, elle n'arrive pas.
Mon traitement détecte des fichiers mauvais et un dialogue s'affiche. Lorsque c'est le cas, là la JScrollBar apparait et est bien positionnée sur le fichier incriminée. Mais lorsque je valide le dialogue, elle reste figée, ainsi que mon JTextArea.
Bien sûr, à la fin du traitement, la scrollbar est navigable, le textarea contient tout ce qu'il faut ... etc.
Tout se passe donc comme si il manquait un update quelque part (je me souviens avoir galérer pour trouver le progressbar.update(progressbar.getGraphics());!!)
J'ai essayé à peu près tout et rien ne marche : le setCaretPosition à la fin du textarea, le revalidate(), les astuces où on fait un setText avec ce qu'on récupère après le append, le repaint, le update ... bref je suis perdu!!!
Par contre, ça marche lorsque je lance la frame via un main de sa classe (sinon ça serait pas marrant!)
Merci d'avance pour vos lumières !!
Partager