以Java形式聊天对话容器

时间:2014-08-17 19:00:53

标签: java

我有一个Java表单,我想添加一个聊天容器,其中包含您与联系人进行的所有对话。到目前为止,我想创建一个面板,每次用户收到一条消息时,它都会作为JLabel附加到面板上,它也应该具有发送者的名称,它将是另一个粗体,更大字体的JLabel,另一种颜色等。

有没有更好的方法来接近这个?基本上我想有一个容器,可以动态地以格式化的方式追加字符串,而不会重复出现给JLabel。

感谢。

1 个答案:

答案 0 :(得分:0)

看看JTextPane 我认为它能满足您的需求 例如,它可以呈现html格式的字符串 这是一个伪代码

import javax.swing.JTextPane;

public class MessagesTextPane extends JTextPane
{

MessagesTextPane()
{
    super();
    //setFont(new Font(Font.MONOSPACED,Font.BOLD,20));
    setContentType("text/html");
    div="<table>"
           +"<tr style=\"color:#"+ clrn +";  font-family:Verdana; font-size:12pt\">"
           +"<td valign=\"top\" ><img  align=\"top\" src=\"" 
           +this.getClass().getClassLoader().getResource("user.png").toString()
           +"\" /></td>"
           +"<td> <b>"+ msg.senderName + "</b><br/>"
           + msg.msg
           +"</td>"
           +"</tr>"
           +"</table> ";
    setText(div);
    validate();
}
}