Automatiquement faire défiler vers le bas d'une zone de texte
J'ai une zone de texte avec barre de défilement. À intervalles réguliers, je suis en ajoutant de nouvelles lignes de texte. Je voudrais la zone de texte à faire défiler automatiquement le fond le plus d'entrée (le plus récent) chaque fois qu'une nouvelle ligne est ajoutée. Comment puis-je y arriver?
textAreaStatus = new WebTextArea();
scrollPane = new JScrollPane(textAreaStatus);
textAreaStatus.setBackground(Color.black);
textAreaStatus.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
Ne
WebTextArea
étendre java.awt.TextArea
ou javax.swing.JTextArea
? Veuillez être précis dans les futurs postes. Il est assez difficile de débogage des extraits de code sur les forums visités par des gens qui parlent beaucoup de différentes langues d'origine, à être vous demandez-vous quant à la nature exacte des classes utilisées.OriginalL'auteur itro | 2012-01-25
Vous devez vous connecter pour publier un commentaire.
Ont un look à la updatePolicy propriété de DefaultCaret: il peut faire ce que vous voulez
Un bon résumé des options par Rob (@camickr)
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
où dois-je mettre ce code? quand devrais-je appeler le code que vous avez provideded et où?semble ne pas fonctionner dans java8
intéressant .. va vérifier, merci.
roulé la modifier comme il a été pas faut - statique des importations de faire de la magie 😉
OriginalL'auteur kleopatra
textArea.setCaretPosition(textArea.getDocument().getLength());
? Est il un autre moyen de le faire automatiquement? Est-il un écouteur pour textArea?Pourquoi ne pas ajouter une fonction pour ajouter du texte. Par exemple, j'ai une fonction pour ajouter du texte à ma zone de texte. Simple question d'ajouter une ligne supplémentaire à ma fonction pour mettre à jour automatiquement.
OriginalL'auteur StanislavL