web-dev-qa-db-fra.com

Ajouter une nouvelle ligne à la fin d'un JtextArea

J'ai une zone de texte avec du texte et je veux y ajouter quelques lignes (les premières lignes + les autres lignes que je veux ajouter), mais cela ne fonctionne pas.

La façon dont je le fais en ce moment efface l'ancien texte et ne montre que les nouvelles lignes. 

23
Johanna

Au lieu d'utiliser JTextArea.setText(String text), utilisez JTextArea.append(String text) .

Ajoute le texte donné à la fin du document. Ne fait rien si le modèle est null ou si la chaîne est nulle ou vide. 

Cela ajoutera du texte à la fin de votre JTextArea.

Une autre option consisterait à utiliser getText() pour obtenir le texte de la JTextArea, puis à manipuler la chaîne (ajouter ou supprimer ou modifier la chaîne), puis à utiliser setText(String text) pour définir le texte de la JTextArea sur la nouvelle chaîne.

48
jjnguy

Utilisez-vous la méthode append(String) de JTextArea pour ajouter du texte supplémentaire?

JTextArea txtArea = new JTextArea("Hello, World\n", 20, 20);
txtArea.append("Goodbye Cruel World\n");
11
Adamski

Lorsque vous souhaitez créer une nouvelle ligne ou envelopper votre TextArea, vous devez ajouter\n (nouvelle ligne) après le texte.

TextArea t = new TextArea();
t.setText("insert text when you want a new line add \nThen more text....);
setBounds();
setFont();
add(t);

C’est la seule façon dont j’ai pu le faire, il existe peut-être un moyen plus simple mais je n’ai pas encore découvert. 

0
user2089755