java 如何在JTextPane里显示不同字体?
1个回答
展开全部
/**
* @param str 欲插入的文本
* @param font 字体
* @param backgroup 背景色
* @param foreground 前景色
* @throws BadLocationException
*/
public void setText(String str,Font font,Color backgroup,Color foreground) throws BadLocationException{
SimpleAttributeSet set=new SimpleAttributeSet();
if(backgroup!=null)
StyleConstants.setBackground(set, backgroup);//背景色
if(foreground!=null)
StyleConstants.setForeground(set, foreground);//前景色
if(font!=null){
StyleConstants.setFontSize(set, font.getSize());//字体大小
StyleConstants.setFontFamily(set, font.getFontName());//字体名称
if(font.isBold()){//粗体
StyleConstants.setBold(set, true);
}
if(font.isItalic()){//斜体
StyleConstants.setItalic(set, true);
}
}
Document doc=this.getDocument();//或者使用JTextPanel的对象
doc.remove(0, doc.getLength());//移除所以内容,如果是添加或者插入文本,注释掉这行
doc.insertString(0, str, set);//插入字符,位置,字符串,属性集
}
用任意类继承Jtextpanel,写上这个方法。
或直接使用JTextpanel.getDocument();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询