前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java文本框内文字显示不同颜色、字号等属性【函数调用一键实现】

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

作者头像
灰小猿
发布2020-09-23 11:17:12
1.5K0
发布2020-09-23 11:17:12
举报
文章被收录于专栏:灰小猿技术社区

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

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

其主要原因是:

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

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

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

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

函数代码中的

Document doc = infoWindow.getDocument();

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

以下为该函数源码:

代码语言:javascript
复制
//设置接收框文本字体属性
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);	
	}
}

显示效果:

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 以下为该函数源码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档