聊天室的 JTextPane 或 JEditorPane
Posted
技术标签:
【中文标题】聊天室的 JTextPane 或 JEditorPane【英文标题】:JTextPane or JEditorPane for a Chatroom 【发布时间】:2011-12-05 16:30:34 【问题描述】:我必须做一个像这样的聊天室:
显示的消息还必须显示笑脸,并且所有内容都可以像 Skype 中一样复制/粘贴。
我不知道在 JEditor 和 JTextpane 之间选择什么。我都试过了,我遇到了以下困难:
JEditorPane:
复制/粘贴,可以显示笑脸并复制粘贴。 设置内容为text/html时无法设置消息的leftIndentJTextPane:
我可以设置leftIndent 当我将文本内容设置为 html 时,无法复制/粘贴笑脸图标。 无法在消息中显示笑脸也许我错了,我不知道足够多的东西,所以我想听听你的意见:)
非常感谢。
问候
【问题讨论】:
【参考方案1】:使用 JTextPane。将内容类型设置为 text/html。并通过 setText(); 放置适当的 html;
这是关于本地图像的 http://java-sl.com/tip_local_images.html
还有这个关于微笑的 http://java-sl.com/tip_autoreplace_smiles.html
【讨论】:
嗨,在 2 个例子中,使用了 JEditorPanes,也许你的意思是我应该使用 JEditorPanes 而不是 JTextPane? JTextPane 扩展了 JEditorPane,因此为 JEditorPane 描述的所有内容都可以应用于 JTextPane。【参考方案2】:(补充 StanislavL 的答案。)至少在 Java 1.7 leftindent 适用于 JTextPane:
<html>
<head>
<style type='text/css'>
p text-indent: 20px;
</style>
</head>
<body>
<p style="margin-top: 0">
The text.
</p>
</body>
</html>
【讨论】:
以上是关于聊天室的 JTextPane 或 JEditorPane的主要内容,如果未能解决你的问题,请参考以下文章