我正在尝试使用Swing组件重新创建Skype处理即时消息。我正在使用带有自定义ListCellRenderer的JList来呈现列表中的每个单元格。 ListCellRenderer扩展了一个JPanel,JPanel只包含一个标签(我将放置用户名)和一个JTextArea,这是用户消息的去向。 JTextArea就是我遇到的问题。
这是我现在所拥有的一张图片 -
textarea中的文本实际上比此图像中的文本长得多,但它不是自动换行。我已经在此textarea的属性框中将lineWrap和wrapStyleWord设置为true,但它似乎没有任何效果。然后,我尝试使用属性框设置最大大小,但也没有任何效果。
有没有办法用netbeans gui designer控制组件周围的填充/边距。它为组件之间的间距提供的自动放置是几个像素太小或两个大。我需要精确放置在列表的单元组件上。
这里参考skype的convesation面板看起来如何(我添加了红色的“Brian cs”,因为我将如何在我的程序中这样做)。正如您所看到的那样,句子包裹并且单元格之间存在适当的空间。所以任何人都知道如何使用Swing实现这一目标?
答案 0 :(得分:0)
JTextarea不是问题。 JList设置每行的高度。请参阅JList.setFixedCellHeigth或setPrototypeCellValue