相关疑难解决方法(0)

根据内容展开JList行高

我有一个简单的问题让我疯狂.

我有一个JList,并希望它的单元格根据其内容进行扩展,这是可变长度的文本.

所以我创建了一个CustomCellRenderer,如下所示:

@Override
public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean hasFocus)
{
    final String text = (String) value;

    final JTextArea ta = new JTextArea();
    ta.setText(text);
    ta.setFont(new Font("Dialog", Font.PLAIN, (int) Theme.FONTSIZE_TEXT));
    ta.setForeground(Theme.FONTCOLOR_CONTENT);
    ta.setLineWrap(true);
    ta.setWrapStyleWord(true);
    ta.setColumns(0);
    ta.setBorder(BorderFactory.createEmptyBorder(10, Theme.PADDING, 0, 0));
    return ta;
}
Run Code Online (Sandbox Code Playgroud)

但是单元格只有一个文本行高,而JTextArea的其余部分被截断.如果我加

ta.setPreferredSize(new Dimension(0, 70));
Run Code Online (Sandbox Code Playgroud)

我的行高为70,我可以看到更多JTextArea的文本,但仍然不是一切.

有没有办法让JList扩展其单元格,以便显示JTextArea的整个内容?

java height swing row jlist

4
推荐指数
1
解决办法
5889
查看次数

在 Jlist 单元格中显示多行

如何在 JList 的单个单元格内显示多行。在jtable中,是通过在表格单元格渲染器中添加一个JTextarea来实现的。同样,是否有任何代码可以为包含文本区域的 JList 添加自定义单元格渲染器?如果是,您能给我一个相同的代码片段吗?

或者您认为还有其他更好的方法可以在 Jlist 的单元格内显示多行而不是使用文本区域吗?请帮我!!

java swing

1
推荐指数
1
解决办法
4834
查看次数

标签 统计

java ×2

swing ×2

height ×1

jlist ×1

row ×1