JTextArea dans un JScrollPane: comment automatiser le scroll ?
1 réponse
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)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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.
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.