Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Add colored text to the document

import java.awt.Color; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextPane; import javax.swing.text.AttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyleContext; public class Main extends JTextPane {   public void append(Color c, String s) {     StyleContext sc = StyleContext.getDefaultStyleContext();     AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);     int len = getDocument().getLength();     setCaretPosition(len);     setCharacterAttributes(aset, false);     replaceSelection(s);   }   public static void main(String argv[]) {     Main pane = new Main();     for (int n = 1; n <= 4; n += 1) {         pane.append(Color.black, String.valueOf(n) + ' ');     }     JFrame f = new JFrame("ColorPane example");     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     f.setContentPane(new JScrollPane(pane));     f.setSize(600, 400);     f.setVisible(true);   } }