Textfarbe ändern

Cev Droon

Mitglied
Hi Leute,
Ich bin absoluter Anfänger und deshalb auch gespannt auf ein paar Antworten auf eine Anfänger-Frage: Kann man die Textfarbe in JTextAreas ändern? Also, ich habs schon so probiert:
Code:
 JTextArea text = new JTextArea(10, 10);
String message = "abc";
message.setColor(Color.RED);
text.append(message);
Leider gibt es aber für Strings keine setColor()-Methode und auch keine setBackground()-Methode. :shock:
Gibt es also eine Methode, mit der man Textausgaben farbig machen kann?
Es muss nicht unbedingt für eine JTextArea sein, es kann auch erst mal eine andere Farbe bei einer ganz normalen System.out.println()-Ausgabe sein.

Danke schon mal im Voraus für eventuelle Antworten :applaus:

CevDroon
 
Die Farbe von einem System.out.println() lässt sich nicht (so einfach?) setzen, da Java mit diesem Befehl ja auf die Konsole schreibt, aber nicht selbst die Konsole managed.
Da verschiedene System verschiedene Konsolen haben, ist also das Farben setzen nur nativ programmierbar.

Bei deinem Beispiel versuchst du die Farbe des Strings zu setzen. Wie du selbst schon erkannt hast, ist das aber nicht möglich.
Um den Text in Farbe, Schriftart und -größe zu ändern nutzt man oft Fonts. Das ist bei der JTextArea nicht anders. Den Font musst du dann nur noch in die JTextArea setzen.
Schau dir einfach mal die Doku zu der JTextArea und da speziell mal die setFont-Methode an.
 
Mit setForeground lässt sich die Textfarbe ändern.
Dann gäbe es, wie DarXun schon erwähnt hat, Fonts, welche halt noch Schriftgröße und Familie anbieten, und ansonsten bleiben nur HTML Tags, welche meines Wissens nach aber nicht in einer JTextArea funktionieren.
JEditorPane supported sowas aber z.B..
 

Zurück
Oben