JTextArea und Textfarbe (edit: und regexp)
-
Hallo,
ich habe mir ein Eingabefeld vom Typ JTextArea gebastelt und möchte, dass wenn ich bestimmte Wörter bzw. Zeichen eingebe, dass diese Zeichen z.B. in Rot dargestellt werden.
Könnte mir jemand Tipps geben, wie ich das hinbekommen könnte?
Ich habe mal bei setHighlighter() in der API nachgeschaut, aber das versteh ich schlicht und einfach nicht, genauso beim interface Document.Beste Grüße
Jan
-
area->setContentType ("text/html")
area->setText ("<font color='red'>Ich bin rot</font>")
-
Neben HTML-Text besteht noch die Möglichkeit soetwas mit AttributSets zu realisieren. Nimm dafür ein JTextPane!
Beispiel:
private JTextPane pane = new JTextPane();
DefaultStyledDocument doc = (DefaultStyledDocument)pane.getStyledDocument(); //für Schrift, die rot und fett sein soll SimpleAttributeSet att1 = new SimpleAttributeSet(); StyleConstants.setForeground(att1, Color.RED); StyleConstants.setBold(att1, true); //für blaue Schrift SimpleAttributeSet att2 = new SimpleAttributeSet(); StyleConstants.setForeground(att2, Color.BLUE); pane.setText("rot, "); //ganz normalen Text setzen doc.setCharacterAttributes(0, 3, att1, false); //Text rot färben doc.insertString(5, "blau", att2); //neuen Text in blau anhängen
-
Hallo,
danke für eure Antworten. Ich habe den Vorschlag von Varus umgesetzt und funktioniert auch gut!
Jetzt habe ich aber einen nächstes Problem:
ich schaffe es, dass er aus "blablahalloblabla hallo" das macht: "blablahalloblabla hallo". Aber ich möchte, dass nur das Wort "hallo" dann fett wird, wenn es alleine steht und nicht irgendwo im wort.
Das kann man ja mit regexp machen, aber ich habe keine methode gefunden, wie ich dabei die Position von "/\Whallo\W/" herbekomme, die ich ja brauche, um das Wort fett zu schreiben.Hat da jemand eine Idee?
Beste Grüße
Jan
-
Geh' einfach zu Fuß durch den String.
-
Hi,
zu Fuß geht bis jetzt alles.
Ich hab jetzt aber noch nen anderes Problem (ich habe nur Probleme :D):
Welche Listener brauche ich, damit ich eine bestimmte Aktion ausführen kann, wenn ich einen Text in die JTextPane einfüge? Ich habs mit dem KeyListener probiert und hat nicht gefunzt.Und noch ne kleine Frage: Wie kann ich bei ner JTextArea den text rechtsündig darstellen?
Beste Grüße
Jan
-
Ich denke die Forenbenutzer würden es begrüßen, wenn du deine doch voneinander unterschiedlichen Fragen auch in verschiedenen Threads stellen würdest. Das erleichtert für alle später die Suche
-
Hi,
Ich denke die Forenbenutzer würden es begrüßen, wenn du deine doch voneinander unterschiedlichen Fragen auch in verschiedenen Threads stellen würdest. Das erleichtert für alle später die Suche
Ok, kein Problem, ich wollte nicht unbedingt dafür nen neues Topic eröffnen. aber wenn ich dafür schon ne Aufforderung bekomm...dann mal loas
Beste Grüße
Jan