java swing 文本域中改变字体颜色

我们常用的JTextArea是纯文本组件,不能改变字体的颜色,可以用JTextPane组件,它要比JTextArea功能强大很多,JTextPane的用法可以看java文档:点击打开链接

1.用JTextPane的setForeground设置字体颜色。

package java;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JTextPane;
public class W8_2_2 extends JFrame{
    public static void main(String[] args)
    {
    	new W8_2_2();
    }
    public W8_2_2()
    {
    	JTextPane text=new JTextPane();
    	text.setForeground(Color.BLUE);
    	this.add(text);
    	this.setSize(200,200);
    	this.setVisible(true);
    }
}

2.StyledDocument中设置字体颜色。

package java;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;
public class W8_2_2 extends JFrame{
    public static void main(String[] args) throws BadLocationException
    {
    	new W8_2_2();
    }
    public W8_2_2() throws BadLocationException
    {
    	JTextPane text=new JTextPane();
    	StyledDocument d=text.getStyledDocument();
    	SimpleAttributeSet attr = new SimpleAttributeSet();
    	StyleConstants.setForeground(attr, Color.red);
    	d.insertString(d.getLength(),"红色",attr);
    	this.add(text);
    	this.setSize(200,200);
    	this.setVisible(true);
    }
}

java swing 文本域中改变字体颜色_第1张图片


你可能感兴趣的:(java)