Mauvais affichage d'une JTextArea
Bonjour à tous,
Je suis confrontée à un problème qui, je crois, est très ancien, mais qui, je suppose, a dû être résolu depuis longtemps avec les dernières versions de Java.
Dans mon interface, je place un Panel contenant un jscrollpane contenant une jtextarea. Un petit extrait:
Code:
1 2 3 4 5 6 7 8
| vue_trace = new JPanel();
vue_trace.setLayout(new java.awt.BorderLayout());
jsp1 = new JScrollPane();
console = new JTextArea();
console.setEditable(false);
console.setRows(3);
jsp1.setViewportView(console);
vue_trace.add(jsp1, java.awt.BorderLayout.CENTER); |
Cette jtextarea est destinée à tracer les opérations de l'utilisateur en appelant la fonction :
Code:
1 2 3 4 5 6
|
public void setConsole(String txt) {
console.append(txt+"\n");
console.validate();
jsp1.validate();
} |
Jusque-là tout va bien. Mais quand l'utilisateur fait défiler la scrollbar ou quand j'utilise le positionnement automatique avec :
Code:
1 2 3
|
javax.swing.text.DefaultCaret caret = (javax.swing.text.DefaultCaret)console.getCaret();
caret.setUpdatePolicy(javax.swing.text.DefaultCaret.ALWAYS_UPDATE); |
l'affichage du texte dans la jtextarea est tout pourri : les lignes se chevauchent, sont répétées 2 fois... Si on retaille manuellement la fenêtre l'affichage redevient correct. Mais je ne peux pas demander ça aux utilisateurs, je vais me faire lyncher! Il faudrait peut-être ajouter un listener sur la scrollbar? Mais ça me paraît compliqué...
Y a t'il une solution simple, propre et rapide (parfaite, quoi!)?
Merci de votre aide.
Jacqueline
Ce n'est pas un problème Java
Bonjour Joel,
Tu avais raison: ce n'est pas un problème Java! C'est bien mon émulateur NX qui cause ce dysfonctionnement: sur le premier serveur sur lequel je me loggue avec NX, le mauvais affichage se produit, que ce soit le serveur de dev, le serveur de prod ou un autre serveur; si dans ce même environnement je me loggue sur un autre serveur via ssh -X, l'affichage est correct. Aucun problème si j'utilise l'émulateur MobaXterm ou un TX.
Ceci dit, ce n'est pas la première fois que j'ai des comportements erratiques des interfaces graphiques sous NX. Mais c'est un autre sujet: je clos donc celui-ci.
Merci de ton aide.
Jacqueline