2017-05-15 9 views
0

Ich mache ein Swing-Programm, das verschiedene ASCII-Kunst anzeigt. Gerade jetzt, wenn ein Benutzer auf eine Schaltfläche klickt, erhalte ich die ASCII-Grafik und hänge sie an die TextArea an. Aber ich füge es so an, dass es vertikal ist. Zum Beispiel:Wie man Text horizontal in Java hinzufügt Swing

card = " ----------\n" + 
      " |  " + c + " |\n" + 
      " |   |\n" + 
      " |   |\n" + 
      " |   |\n" + 
      " | " + c + "  |\n" + 
      " ----------"; 
text.append(card); 

bekommen würde, Picture of two cards appended vertically

Dies würde eine einfache ASCII-Kunst einer Karte, mit einem zufälligen Gesicht zugeordnet „c“ hinzufügen. Wenn ich eine weitere Karte hinzufügen möchte, damit die Ausgabe so aussieht, wie würde ich es tun?

Picture of two cards added how I would like it to be

+2

Sie würden in den vorhandenen Text in der Textarea lesen , füge jede Zeile des neuen Textes an die entsprechende Zeile des alten Textes an und setze den Text neu. Sie müssen einen Versuch selbst programmieren, wenn Sie spezifische Hilfe wünschen. –

Antwort

0

können Sie nicht die append() Methode des Bereichs Text verwenden. Stattdessen müssen Sie den Text direkt in die Document des Textbereichs einfügen.

Sie erhalten das Dokument mit:

Document doc = textArea.getDocument(); 

dann für jede Zeile, die Sie aktualisieren möchten, würden Sie Code verwenden, wie:

int lineEnd = textArea.getLineEndOffset(???) 
doc.insertString(lineEnd, "whatever", null);