正在做一个局域网通信软件,发送消息的编辑器是用JTextPane做的,我希望可以实现类似QQ的效果,例如用户(天使)给好友发送消息:你好吗?
最近在哪里?
我好想你!那么当用户收到消息时,接受消息的编辑框应显示:天使 2010-11-15 10:28:31
  你好吗?
  最近在哪里?
  我好想你!
即:除了消息头(上面代表好友和时间的那行)不缩进外,消息内容每行都要缩进两个位置
请问怎么实现这种效果?JTextPane好像是默认自动换行的,不能监听换行事件,而且如果通过每行的字数来控制换行也不是很好,因为英文和中文占得宽度是不同的求解!!!!!

解决方案 »

  1.   

    想不自动换行简单,重写JTextPane的两个方法 @Override
    public boolean getScrollableTracksViewportWidth() {
    return (getSize().width < getParent().getSize().width);
    } @Override
    public void setSize(Dimension d) {
    if (d.width < getParent().getSize().width) {
    d.width = getParent().getSize().width;
    }
    super.setSize(d);
    }
      

  2.   

    查看 javax.swing.text.StyleContext