【问题标题】:What should I use for client-side coloured chat log?客户端彩色聊天记录应该使用什么?
【发布时间】:2014-07-11 23:28:26
【问题描述】:

我的任务是创建一个 Java char 客户端/服务器应用程序。我在 java 中的 GUI 总是有很大的问题。

我目前正在努力创建一个简单的聊天日志,该日志将能够显示彩色文本(特别是管理员用户应该显示为红色)和 GUI 元素(用于下载已发送文件的按钮)。

我尝试了很多东西,包括 HTML,但一切都有缺陷。

对于消息,我最新的解决方案是s 填充了不同颜色的s,它们都包含在 中。这是迄今为止最好的解决方案,但仍然很糟糕。

  1. JPanels 正在尝试垂直和水平放置在中心。如果只有一条消息,则它位于日志的中间。
  2. 无法突出显示 JPanel 中的文本 - 因此无法复制。

是否有任何 XXXPanel 专为显示格式化文本而设计?带有 HTML 的面板不接受 CSS 或 <font> 标签属性 - 所以我怀疑它是否具有着色能力。

【问题讨论】:

  • 看起来很有希望 - 但是我对 JTextPane 的尝试导致了可编辑的文本。
  • 如果有像setEditable(false) 这样的方法可以解决这个问题。如果只有像 javadoc 这样的东西,你可以在其中找到这些方法......我们是来帮忙的,但我们不是来牵你的手的。
  • 当我使用建议问题中的解决方案并且我 setEditable(false) 没有出现任何文本(否则它的工作原理与我的旧解决方案相同。但似乎我可以暂时切换 setEditable m 添加文本。

标签: jpanel jlabel jscrollpane java swing user-interface


【解决方案1】:

JScrollPane 中使用JTextPane 和HTML 格式/着色。它可以完美运行(尤其是对于像这样简单的事情),除非您配置错误(例如不显示 HTML)。

【讨论】:

  • 感谢您告诉我如何配置它正确。尤其是当我似乎已经配置错了...
  • 如果我没记错的话,你必须明确地配置它not来呈现 HTML。所以如果你不能让它工作,你可能想再次阅读 Swing 教程。根据您的问题,您似乎也不了解Layouts(说文本居中,因为它通常位于FlowLayout 中)。
  • 我可以提醒你,人们问问题是因为他们不知道什么?
  • 我可以指出我的答案,我告诉你确切的使用方法吗?感谢其他人帮助你的方式。
  • 我告诉过你做你想做的最直接的方法。你对我回答得很消极。我在这里帮助别人并没有得到钱,我得到一文不值的积分,而你通过对我没有为你编写代码而皱着眉头来表示你的谢意。请重新考虑你的态度。
猜你喜欢
  • 2023-03-06
  • 2016-07-07
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
  • 1970-01-01
  • 2015-10-12
  • 2011-01-04
  • 1970-01-01
相关资源
最近更新 更多