Java tutorial
import java.awt.Color; import javax.swing.JFrame; 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 { private static void appendToPane(JTextPane tp, String msg, Color f, Color b) { StyleContext sc = StyleContext.getDefaultStyleContext(); AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, f); aset = sc.addAttribute(aset, StyleConstants.Background, b); aset = sc.addAttribute(aset, StyleConstants.FontFamily, "Lucida Console"); aset = sc.addAttribute(aset, StyleConstants.Alignment, StyleConstants.ALIGN_JUSTIFIED); int len = tp.getDocument().getLength(); tp.setCaretPosition(len); tp.setCharacterAttributes(aset, false); tp.replaceSelection(msg); } public static void main(String... args) { JTextPane tPane = new JTextPane(); JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); appendToPane(tPane, "this is a test.\n", Color.RED, Color.WHITE); appendToPane(tPane, "this is a test \n", Color.PINK, Color.BLUE); appendToPane(tPane, "test", Color.GRAY, Color.BLACK); appendToPane(tPane, "test", Color.RED, Color.BLUE); appendToPane(tPane, "test", Color.RED, Color.YELLOW); f.getContentPane().add(tPane); f.pack(); f.setVisible(true); } }