JTextPane / JEditorPane ohne Keywords farbig machen

centrax

Mitglied
Hallo Forum,

ich habe ein kleines Problem, dass ich peinlicherweise nach längerer Recherche nicht für mich (also idiotensicher) lösen konnte:

Ich habe einen String mit Textinhalt.

Z.B:
Java:
String text = "Hallo Javaforum!";

Jetzt soll dieser in einem JTextPane oder JEditorPane dargestellt werden, und zwar so, dass jeder Buchstabe eine bestimmte, eigene Farbe bekommt. (Für die Visualisierung einer Kryptoanalyse)

Welcher char welche Farbe zugewiesen bekommt, ist zur Compile-Zeit nicht bekannt. Ich möchte also eine Methode (sinngemäß) wie diese implementieren:

Java:
public void faerben(JEditorPane pane, String text, int anzahlFarben) { //Oder Parallel mit JTextPane
[...]
}

Ist die Anzahl an Farben 5, so wird der 6. Buchstabe wieder mit der ersten Farbe dargestellt. Die Farben an sich sind auch bekannt. Das Problem ist ja dieses "dynamische Färben".


Ich freue mich über jede Hilfe!

Liebe Grüße,
centrax
 
lass über den String eine Methode durchlaufen, die zb den ersten Buchstaben durch <font color=blue>c</font> ersetzt?

und das bei jedem buchstaben, nimm halt die farbnamen aus einem Stringarray...

lg
 
Habe jetzt einfach mal deinen Text so ersetzt, also:
Java:
String text = "<font color=blue>c</font>";

und den dann so als Text bei dem Pane gesetzt:

Java:
private void updatePane() {
        t="<font color=blue>c</font>";
        pane.setText(t);
}

Das ging aber weder für ein JEditorPane noch für ein JTextPane ...
In beiden Fällen habe ich den String wie er war (also mit HTML-Tags, <...>) bekommen.

Auch mit \"-Zeichen vor und nach dem "blue" ging es nicht...

Liebe Grüße
 

Zurück
Oben