jTextField 设置其中几个特殊字的字体颜色和大小
比如我的jTextField显示的字是“您可以对问题设定匿名,但您需要付出积分10分。”我想把“您可以对问题设定匿名”设成红色显示出来,该怎么做呢???...
比如我的jTextField显示的字是“您可以对问题设定匿名,但您需要付出积分10分。 ” 我想把“您可以对问题设定匿名” 设成红色显示出来,该怎么做呢???
展开
展开全部
JTextArea是不能改变部分文字属性的,你用JTextPane作为文本输入区域就可以了。
给你个例子:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
public class DocColorTest extends JFrame
{
JTextPane textPane = new JTextPane();
JPanel contPane = new JPanel();
public DocColorTest()
{
super("DocColorTest");
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((d.width-300)/2,(d.height-200)/2,300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contPane.setLayout(new BorderLayout());
contPane.add(new JScrollPane(textPane),"Center");
insertDocument("您可以对问题设定匿名", Color.RED);
insertDocument(",但您需要付出积分10分。 ", Color.BLACK);
setContentPane(contPane);
setVisible(true);
}
public static void main(String [] args)
{
new DocColorTest();
}
public void insertDocument(String text , Color textColor)//根据传入的颜色及文字,将文字插入文本域
{
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setForeground(set, textColor);//设置文字颜色
StyleConstants.setFontSize(set, 12);//设置字体大小
Document doc = textPane.getStyledDocument();
try
{
doc.insertString(doc.getLength(), text, set);//插入文字
}
catch (BadLocationException e)
{
}
}
}
然后你根据需要自己改改吧
给你个例子:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
public class DocColorTest extends JFrame
{
JTextPane textPane = new JTextPane();
JPanel contPane = new JPanel();
public DocColorTest()
{
super("DocColorTest");
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((d.width-300)/2,(d.height-200)/2,300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contPane.setLayout(new BorderLayout());
contPane.add(new JScrollPane(textPane),"Center");
insertDocument("您可以对问题设定匿名", Color.RED);
insertDocument(",但您需要付出积分10分。 ", Color.BLACK);
setContentPane(contPane);
setVisible(true);
}
public static void main(String [] args)
{
new DocColorTest();
}
public void insertDocument(String text , Color textColor)//根据传入的颜色及文字,将文字插入文本域
{
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setForeground(set, textColor);//设置文字颜色
StyleConstants.setFontSize(set, 12);//设置字体大小
Document doc = textPane.getStyledDocument();
try
{
doc.insertString(doc.getLength(), text, set);//插入文字
}
catch (BadLocationException e)
{
}
}
}
然后你根据需要自己改改吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询