OVH Cloud OVH Cloud

JTextArea dans un JScrollPane: comment automatiser le scroll ?

1 réponse
Avatar
thomas.baruchel
Bonjour,

j'ai un JTextArea dans un JScrollPane qui me sert à afficher des
informations quand elles tombent... Je voudrais qu'à chaque fois
qu'une nouvelle ligne est ajoutée, avec la méthode append(String),
la vue revienne automatiquement à la fin de ce qui est affiché, afin
que l'utilisateur la voit aussitôt (disons que le scroll doit lui
servir ponctuellement à revoir un truc ancien, mais que la plupart
du temps il doit pouvoir voir la dernière information affichée sans
effort de sa part). Or je ne vois pas bien comment on peut obtenir
cette caractéristique assez usuelle.

Cordialement,

--
« nous devons agir comme si la chose qui peut-être ne sera pas devait
être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)

Thomas Baruchel <thomas.baruchel@laposte.net>

1 réponse

Avatar
Jc Sirot
Thomas Baruchel wrote:
Bonjour,

j'ai un JTextArea dans un JScrollPane qui me sert à afficher des
informations quand elles tombent... Je voudrais qu'à chaque fois
qu'une nouvelle ligne est ajoutée, avec la méthode append(String),
la vue revienne automatiquement à la fin de ce qui est affiché, afin
que l'utilisateur la voit aussitôt


La réponse à cette question a déjà été donnée sur le forum : tu dois
pouvoir faire ça en plaçant le curseur à la fin de ton JTextArea.

textArea.append(...);
int length = textArea.getText().length();
textArea.setCaretPosition(length);

Cependant cette méthode ne conserve la sélection courante.

--

Cordialement
-- JC Sirot