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

时间:2022-07-25
本文章向大家介绍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);	
	}
}

显示效果:

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