当前位置:编程学习 > JAVA >>

java Swing设置文本框文字颜色和字体

 

在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();

    }

 

摘自 zyqyz520的专栏

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,