TextArea Ausgabe immer ganz oben

Ci

Aktives Mitglied
Hallo,

hab ein kleines Problem. Ich hab eine Oberfläche, darin habe ich ein TextArea implementiert.
wenn ich nun auf ein Button clicke, dann erscheint ein ScrollPane, die mir einer Liste von Strings anzeigt. Die einzelnen Strings kann ich nun von Hand separat markieren und über einen zusätzlichen Button auf mein TextArea ausgeben. Funktioniert auch alles soweit in Ordnung.

Wenn ich als Beispiel jetzt nachdem ersten String auch den zweiten String in mein TextArea ausgebe, dann wird dieser String einfach datrunter geschrieben!

Jetzt meine Frage:

Kann die letzte Ausgabe nicht einfach ganz oben in mein TextArea erscheinen?

die Ausgabe mach ich mit:

Java:
textArea.append("blabla");


Damit will ich eig. nur eine bessere Übersicht haben!
Ist das ganze so möglich?

gruß
 
Mit append wird das nichts:
API hat gesagt.:
Appends the given text to the end of the document.

Du könntest das aber so (oder so ähnlich) machen:
Java:
textArea.setText(deinText + NEWLINE + textArea.getText());
Alternativ kannst du auch direkt auf dem Document und mit insertString arbeiten.
 
bekomme es irgendwie nicht hin, da ich den String in einer zusätzlichen Klasse auswerte und anschließend ausgewertet ausgebe!
deshalb benutze ich auch append, statt setText, damit die Auswertung auch schön untereinander liegt. Nur wenn ich jetzt die zweite Auswertug vom zweiten String ausgeben will, soll sie ganz oben erscheinen.

in meiner GUI Klasse gebe ich die Ausgabe von meiner StringKlasse folgendermassen aus:

Java:
try {
						StringKlasse.ausgabe_string_auswertung(); // in dieser Klasse wird der String ausgewertet, 
//ist also mehrere Zeilen lang, deshalb arbeite ich auch mit append!

/*kann ich jetzt nicht hier einen Befehl setzen, der bei der nächsen Ausgabe die Auswertung ganz oben bringt? */

					} catch (CardException e3) {
						e3.printStackTrace();
					}
 
Wie EikeB schon sagte, hol dir das Document mit getDocument und rufe insertString auf!
Java:
		final Document doc = area.getDocument();
		doc.insertString(0, "deinText\nwelcher über mehrere Zeilen\ngeht", null); // :-)
 

Zurück
Oben