Ho cercato per questo per un po 'e finora tutto quello che ho potuto venire in mente è come creare uno stile e applicarlo a un personaggio in questo modo:Come posso impostare ciascun carattere su un colore diverso/colore di sfondo in un JTextPane?
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);
Questo è utile se nel documento sono presenti solo pochi stili e si desidera memorizzarli per nome in modo da poterli applicare facilmente in seguito. Nella mia applicazione voglio essere in grado di impostare il colore di primo piano (uno dei pochi valori) e il colore di sfondo (scala di grigi, molti valori diversi) indipendentemente per ogni carattere nel testo. Sembra un enorme spreco creare potenzialmente centinaia/migliaia di stili differenti per questo. C'è un modo per impostare questi attributi senza dover creare un nuovo stile ogni volta? Sarebbe molto più semplice se dovessi solo rendere il testo, ma ho anche bisogno di renderlo modificabile. C'è un modo per farlo con JTextPane
, o c'è un'altra classe swing che offre questa funzionalità?
eventuali problemi di copyright con il testo? Mi piacerebbe usarlo nei programmi di prova SwingX :-) – kleopatra
@kleopatra AFAIK "Lorem ipsum" è di dominio pubblico poiché esiste da oltre 500 anni. –
@kleopatra no L'ho preso da [qui] (http://www.lipsum.com/) –