Ich habe eine Zeit lang für diese Suche und so weit alles, was ich habe in der Lage gewesen, mit zu kommen, wie man einen Stil zu schaffen und es zu einem Zeichen gilt wie folgt:Wie kann ich jedes Zeichen in einem JTextPane auf eine andere Farbe/Hintergrundfarbe einstellen?
StyledDocument doc = (StyledDocument) new DefaultStyledDocument();
JTextPane textpane = new JTextPane(doc);
textpane.setText("Test");
javax.swing.text.Style style = textpane.addStyle("Red", null);
StyleConstants.setForeground(style, Color.RED);
doc.setCharacterAttributes(0, 1, textpane.getStyle("Red"), true);
Dies ist nützlich, wenn Sie in Ihrem Dokument nur wenige Stile haben und diese nach Namen speichern möchten, damit Sie sie später problemlos anwenden können. In meiner Anwendung möchte ich die Vordergrundfarbe (eine von nur wenigen Werten) und die Hintergrundfarbe (Graustufen, viele verschiedene Werte) unabhängig für jedes Zeichen im Text einstellen können. Es scheint eine riesige Verschwendung zu sein, potentiell Hunderte/Tausende verschiedener Stile dafür zu schaffen. Gibt es eine Möglichkeit, diese Attribute festzulegen, ohne jedes Mal einen neuen Stil erstellen zu müssen? Es wäre viel einfacher, wenn ich nur den Text rendern müsste, aber ich muss es auch editierbar machen. Gibt es eine Möglichkeit, dies mit JTextPane
zu tun, oder gibt es eine andere Swing-Klasse, die diese Funktionalität bietet?
Copyright-Problem mit dem Text? Würde es gerne in SwingX-Test-Utils verwenden :-) – kleopatra
@kleopatra AFAIK "Lorem ipsum" ist seit über 500 Jahren in der Öffentlichkeit. –
@kleopatra nein Ich nahm es von [hier] (http://www.lipsum.com/) –