问题描述
正在做一个局域网通信软件,发送消息的编辑器是用JTextPane做的,我希望可以实现类似QQ的效果,例如用户(天使)给好友发送消息:你好吗?最近在哪里?我好想你!那么当用户收到消息时,接受消息的编辑框应显示:天使2010-11-1510:28:31你好吗?最近在哪里?我好想你!即:除了消息头(上面代表好友和时间的那行)不缩进外,消息内容每行都要缩进两个位置请问怎么实现这种效果?JTextPane好像是默认自动换行的,不能监听换行事件,而且如果通过每行的字数来控制换行也不是很好,因为英文和中文占得宽度是不同的求解!!!!!
解决方案
解决方案二:
应该是这样的效果,上面的效果错了天使2010-11-1510:28:31你好吗?最近在哪里?我好想你!
解决方案三:
想不自动换行简单,重写JTextPane的两个方法@OverridepublicbooleangetScrollableTracksViewportWidth(){return(getSize().width<getParent().getSize().width);}@OverridepublicvoidsetSize(Dimensiond){if(d.width<getParent().getSize().width){d.width=getParent().getSize().width;}super.setSize(d);}
解决方案四:
查看javax.swing.text.StyleContext
时间: 2024-10-08 06:43:38