jTextField 设置其中几个特殊字的字体颜色和大小

比如我的jTextField显示的字是“您可以对问题设定匿名,但您需要付出积分10分。”我想把“您可以对问题设定匿名”设成红色显示出来,该怎么做呢???... 比如我的jTextField显示的字是“您可以对问题设定匿名,但您需要付出积分10分。 ” 我想把“您可以对问题设定匿名” 设成红色显示出来,该怎么做呢??? 展开
 我来答
seekfor_
2009-04-20 · TA获得超过371个赞
知道小有建树答主
回答量:170
采纳率:66%
帮助的人:182万
展开全部
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)
{
}
}
}

然后你根据需要自己改改吧
chenxinppoo
2009-04-19 · TA获得超过606个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:205万
展开全部
应该是不可以的,我尝试了两个小时了,搞不定。JTextPane可以实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式