Come aggiungere testo di colore diverso su JTextPane

Qualcuno può aiutarmi con un semplice log, devo aggiungere alla prima riga sui messaggi di log di JTextPane con il colore scelto (verde ok, rosso fallito). Come ottenere questo?

Questo stamperà “BLAH BLEG” in due colors diversi.

public class Main { public static void main(String[] args) { JTextPane textPane = new JTextPane(); StyledDocument doc = textPane.getStyledDocument(); Style style = textPane.addStyle("I'm a Style", null); StyleConstants.setForeground(style, Color.red); try { doc.insertString(doc.getLength(), "BLAH ",style); } catch (BadLocationException e){} StyleConstants.setForeground(style, Color.blue); try { doc.insertString(doc.getLength(), "BLEH",style); } catch (BadLocationException e){} JFrame frame = new JFrame("Test"); frame.getContentPane().add(textPane); frame.pack(); frame.setVisible(true); } } 

Guarda qui: tutorial di stile

e controlla la sezione etichettata: Un esempio di utilizzo di un riquadro di testo per un ottimo esempio di come modificare dynamicmente i colors.

per JTextPane è ansible implementare StyledDocument alcuni esempi per questo su http://www.java2s.com/Code/Java/Swing-JFC/TextPane.htm

Puoi usare l’HTML per questo e poi farlo

 textPane.setContentType("HTML/plain");