开发者社区> 灰小猿> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Java文本框内文字显示不同颜色、字号等属性【函数调用一键实现】

简介:
+关注继续查看

 

Hello!你好哇,我是灰小猿!

最近在做聊天室相关项目的开发的时候,需要对文本框中的字体进行区别显示,但是由于JTextArea文本框属于纯文本形式的,无法对其中的文本进行不同格式的显示,所以这个时候就需要使用JTextPane文本域进行文本内容的显示了。

其主要原因是:

JTextPane文本域中可以设置html样式

JTextArea文本框不可以设置html样式

这就造成了JTextPane文本域中的内容可以根据需要自行设置属性,从而实现不同文字内容的颜色、字号等属性。

通过以下函数可以直接对JTextPane文本域中的内容进行写入,其中传入的参数分别是:“写入文本框的内容、字体颜色、是否粗体、字号”,JTextPane文本域布局完成后,直接调用该函数就可对文本写入,

函数代码中的

Document doc = infoWindow.getDocument();

中的infoWindow为JTextPane文本域的名称,调用函数时注意修改!

以下为该函数源码:

//设置接收框文本字体属性
public void setInfoWindosFont(String str, Color col,boolean bold,int fontSize) {
    SimpleAttributeSet attrSet = new SimpleAttributeSet();
    StyleConstants.setForeground(attrSet, col);//设置颜色
    if (bold) {
        StyleConstants.setBold(attrSet, bold);//设置粗体
    }
    StyleConstants.setFontSize(attrSet, fontSize);//设置字号
        
    /*********infoWindow为JTextPane文本域的名称*****************/
    Document doc = infoWindow.getDocument();    
    str = "\n" + str;
    try {
        doc.insertString(doc.getLength(), str, attrSet);
    } catch (BadLocationException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        JOptionPane.showMessageDialog(null, "字体设置错误!", "提示", JOptionPane.ERROR_MESSAGE);    
    }
}

image.gif

显示效果:

imageimage.gif编辑

觉得有用记得点赞关注哟!

大灰狼陪你一起进步!

imageimage.gif编辑

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
+关注
灰小猿
一个用代码编织世界的工程师
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Java基础入门(四)-泛型、反射、注解
立即下载
JAVA反射原理以及一些常见的应用
立即下载
快速变化背景下,组织如何保持过程的稳定性
立即下载