Java Program to set the Font and Color of some text in a JTextPane using Styles



Let’s say the following is our JTextPane −

JTextPane textPane = new JTextPane();

Now, set the font style for some of the text −

SimpleAttributeSet attributeSet = new SimpleAttributeSet(); StyleConstants.setItalic(attributeSet, true); textPane.setCharacterAttributes(attributeSet, true); textPane.setText("Learn with Text and ");

For rest of the text, set different color −

StyledDocument doc = textPane.getStyledDocument(); Style style = textPane.addStyle("", null); StyleConstants.setForeground(style, Color.orange); StyleConstants.setBackground(style, Color.black); doc.insertString(doc.getLength(), "Video Tutorials ", style);

The following is an example to set font and text color in a JTextPane with Styles −

Example

package my; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Font; 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.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; public class SwingDemo {    public static void main(String args[]) throws BadLocationException {       JFrame frame = new JFrame("Demo");       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       Container container = frame.getContentPane();       JTextPane textPane = new JTextPane();       textPane.setBackground(Color.red);       SimpleAttributeSet attributeSet = new SimpleAttributeSet();       StyleConstants.setItalic(attributeSet, true);       textPane.setCharacterAttributes(attributeSet, true);       textPane.setText("Learn with Text and "); Font font = new Font("Verdana", Font.BOLD, 22);       textPane.setFont(font);       StyledDocument doc = textPane.getStyledDocument();       Style style = textPane.addStyle("", null);       StyleConstants.setForeground(style, Color.orange);       StyleConstants.setBackground(style, Color.black);       doc.insertString(doc.getLength(), "Video Tutorials ", style);       JScrollPane scrollPane = new JScrollPane(textPane);       container.add(scrollPane, BorderLayout.CENTER);       frame.setSize(550, 300);       frame.setVisible(true);    } }

This will produce the following output −

Updated on: 2019-07-30T22:30:26+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements