How to set default background color for JTextPane in Java?

To set the default background color of JTextPane, use the SimpleAttributeSet and StyleConstants class. At first, create a new JTextPane −

JTextPane pane = new JTextPane();

Now, use the classes to set the style and color −

SimpleAttributeSet attributeSet = new SimpleAttributeSet();
StyleConstants.setBackground(attributeSet, Color.white);

Now, apply the set to the pane −

pane.setCharacterAttributes(attributeSet, true);

The following is an example to set default background color for JTextPane −


package my;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
public class SwingDemo {
   public static void main(String args[]) throws BadLocationException {
      JFrame frame = new JFrame("Demo");
      Container container = frame.getContentPane();
      JTextPane textPane = new JTextPane();
      SimpleAttributeSet attributeSet = new SimpleAttributeSet();
      StyleConstants.setItalic(attributeSet, true);
      StyleConstants.setBackground(attributeSet, Color.white);
      textPane.setCharacterAttributes(attributeSet, true);
      textPane.setText("Updated the background color of the text pane.");
      JScrollPane scrollPane = new JScrollPane(textPane);
      container.add(scrollPane, BorderLayout.CENTER);
      frame.setSize(550, 300);