当前位置:  技术问答>java相关

大家有没试过,在TextPane中设置每一行的颜色各不相同??

    来源: 互联网  发布时间:2015-01-17

    本文导语:  给点源码吧。 是这样的:我想用TextPane或EditPane来输出聊天室的内容,但是要在程序中动态设置每行的颜色,现在的问题是我只能设pane的enabled=false 让用户不能直接输入,and editable=true,让它可以用replaceSelection方法插入新的...


给点源码吧。

是这样的:我想用TextPane或EditPane来输出聊天室的内容,但是要在程序中动态设置每行的颜色,现在的问题是我只能设pane的enabled=false 让用户不能直接输入,and editable=true,让它可以用replaceSelection方法插入新的字串。但是问题是我没法让它能够每行以不同的颜色表现出来。

有知道的人吗,请指教!!!

|
import javax.swing.*;
import javax.swing.text.*;

class textApplet extends JApplet{
  MutableAttributeSet textstyle;
  JTextPane chat_TextArea;
  JScrollPane scrlpane;
  Document doc;

  public void init()
  {
    chat_TextArea=new JTextPane();
    scrlpane=new JScrollPane(chat_TextArea);
    this.getContentPane().add(scrlpane);
    textstyle=new SimpleAttributeSet();
    StyleConstants.setFontFamily(textstyle,"宋体");
    StyleConstants.setFontSize(textstyle,12);
    
    //红色

    StyleConstants.setForeground(textstyle,new Color(Color.red));
    doc=chat_TextArea.getDocument();
    try
    {
      chat_TextArea.setCaretPosition(doc.getLength());
      doc.insertString(doc.getLength(),"这一行是红色!n",textstyle);
      chat_TextArea.setCaretPosition(doc.getLength());
    }
    catch(BadLocationException blexcep){}

    //蓝色

    StyleConstants.setForeground(textstyle,new Color(Color.blue));
    doc=chat_TextArea.getDocument();
    try
    {
      chat_TextArea.setCaretPosition(doc.getLength());
      doc.insertString(doc.getLength(),"这一行是蓝色!n",textstyle);
      chat_TextArea.setCaretPosition(doc.getLength());
    }
    catch(BadLocationException blexcep){}
  }
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3