在java中文本编辑器单独设置文字的控件有个JTextPane,而通常使用的JTextArea似乎不能设置所选文字的颜色和字体。
//实例化一个文本编辑的控件
JTextPane editorPane=new JTextPane();
//根据所选颜色进行设置
JColorChooser colorChooser=new JColorChooser();
//得到所选颜色
Color color= colorChooser.showDialog(null, "字体颜色", Color.BLACK);
//得到编辑器中的文档
Document document= editorPane.getDocument();
try {
//添加一个可以设置样式的类
StyleContext sc = StyleContext.getDefaultStyleContext();
//为所添加的样式类添加字体颜色
AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY,StyleConstants.Foreground, color);
Font font=new Font("隶书",Font.BOLD,30);
//为添加的样式类添加字体
aset=sc.addAttribute(aset, StyleConstants.Family, font.getFamily());
//设置字体的大小
aset=sc.addAttribute(aset, StyleConstants.FontSize, 30);
int start= editorPane.getSelectionStart();
int end=editorPane.getSelectionEnd();
String str= document.getText(start,end-start);
//由于没找到直接设置所选字的方法,只有先移除原来的字符串
document.remove(start, end-start);
//重新插入字符串,并按新设置的样式进行插入
document.insertString(start, str, aset);
} catch (BadLocationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
如果觉得《java设置文本框颜色_java Swing设置文本框文字颜色和字体》对你有帮助,请点赞、收藏,并留下你的观点哦!