openfire+spark二次开发,聊天记录显示效果界面
2017-09-11 17:06
573 查看
首先梳理一下,spark的源码中,聊天记录显示界面和文本输入框的共同父类为org.jivesoftware.spark.ui包下的ChatArea.java,而ChatArea.java则是集成封装了JTextPane类。源码中聊天记录的显示区域是TranscriptWindow.java类。
源码中式通过TranscriptWindow.java类中的insertMessage(String nickname, Message message, Color foreground, Color background)方法将聊天记录显示在显示区的。通过以下代码设置显示在聊天记录显示区域中的消息的字体样式、大小等属性。
// 重置消息的样式
为了使接收的消息和发送的消息分别在界面左右两侧,我加了一下改动,如图:
如此,使得接收的消息在左侧显示,发送的消息在右侧显示,效果如下图:
注:这样改过之后,发送的表情包无法解析了,目前正在查找T_T,有做过的,交流一下。
另外,修改过的TranscriptWindow类:http://download.csdn.net/download/baidu_15338861/9973660
源码中式通过TranscriptWindow.java类中的insertMessage(String nickname, Message message, Color foreground, Color background)方法将聊天记录显示在显示区的。通过以下代码设置显示在聊天记录显示区域中的消息的字体样式、大小等属性。
// 重置消息的样式
StyleConstants.setBold(styles, true); StyleConstants.setForeground(styles, foreground); doc.insertString(doc.getLength(), date + nickname + ": ", styles);//拼接时间、昵称的字符串,然后插入 // Reset Styles for message 重置消息的样式 StyleConstants.setBold(styles, false); StyleConstants.setForeground(styles, getMessageColor()); setText(body);// 消息内容 insertText("\n");// 换行因为JTextPane类本身的特性,插入的消息内容是字符串的形式,并且是左对齐的,就像记事本文档一样。显示效果如下图:
为了使接收的消息和发送的消息分别在界面左右两侧,我加了一下改动,如图:
如此,使得接收的消息在左侧显示,发送的消息在右侧显示,效果如下图:
注:这样改过之后,发送的表情包无法解析了,目前正在查找T_T,有做过的,交流一下。
另外,修改过的TranscriptWindow类:http://download.csdn.net/download/baidu_15338861/9973660
相关文章推荐
- openfire+spark二次开发 spark聊天窗口的构建
- openfire+spark 二次开发-查询会议室中的所有成员
- openfire+Spark二次开发-Res用于spark国际化
- Spark+Openfire二次开发Message类型汇总
- openfire+spark二次开发 Java监听器Listener使用详解
- openfire+spark二次开发
- openfire+Spark二次开发 centos7 安装jdk1.8
- spark+openfire二次开发
- Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)
- Android基于XMPP Smack openfire 开发的聊天室(二) 【聊天信息、成员】
- Android基于XMPP Smack openfire 开发的聊天室(二) 【聊天信息、成员】
- Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)
- Android 使用Smack+openfire开发基于XMPP协议的聊天
- XMAPP Openfire 开发配置,Openfire源代码配置,OpenFire二次开发配置
- Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)
- Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Openfire+spark安装基于XMPP协议的服务端开发环境
- Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)
- 04环信聊天界面 - 显示历史会话记录