java - 尝试使用 Swing 重新创建 Skype 对话面板

标签 java swing skype

我正在尝试使用 Swing 组件重新创建 Skype 处理即时消息。我使用 JList 和自定义 ListCellRenderer 来渲染列表中的每个单元格。 ListCellRenderer 扩展了 JPanel,JPanel 仅包含一个标签(我将在其中放置用户名)和一个 JTextArea(用户消息将在其中放置)。 JTextArea 是我遇到的问题。

这是我当时的情景 -

  • 我已经删除了 netbeans 中文本区域自动附带的滚动 Pane 。
  • 我在此图片中显示了导航器、设计 View 和实际程序(列表有两个元素)。

enter image description here

  1. textarea 中的文本实际上比该图像中的文本长得多,但它不是自动换行。我已在该文本区域的属性框中将 lineWrap 和 wrapStyleWord 设置为 true,但它似乎没有任何效果。然后我尝试使用属性框设置最大大小,但这也没有任何效果。

  2. 是否有任何方法可以使用 netbeans gui 设计器来控制组件周围的填充/边距。它为我提供的组件之间间距的自动放置要么太小几个像素,要么太大两个像素。我需要在列表的单元格组件上精确放置。

这里供引用的是 Skype 的对话面板的外观(我添加了红色的“Brian cs”,因为这就是我将在程序中执行此操作的方式)。正如您所看到的,句子换行并且单元格之间有适当的空间。那么有人知道如何使用 Swing 来实现这一点吗?

enter image description here

最佳答案

JTextarea 不是问题。 JList 设置每行的高度。请参阅 JList.setFixedCellHeigth 或 setPrototypeCellValue

关于java - 尝试使用 Swing 重新创建 Skype 对话面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9754471/

相关文章:

java - 如何刷新jFrame组件(jPanels)?

node.js - 测试部署到 azure 的机器人时的 http 500

delphi - 在 Windows XP/7 中,我能否收到有关我未生成的进程正在关闭的通知?

java - 为什么 NetBeans 8.1 可以直接在编辑器中运行项目,但是当我将其编译成 jar 时,却出现错误

java - RestAssured_Class Not Found_com/github/fge/jsonschema/main/JsonSchemaFactory

Java 用空白分隔符分割字符串

java - 新手 GridBagLayout 问题

java - JDBC 空指针异常

html - 什么是 SPAN CLASS ="SKYPE_C2C_FREE_TEXT_SPAN"

java - 如果视频不播放,如何覆盖发生的情况?