1

我必须将大量文本放入JTable. 当我尝试将文本放入时JTable,所有内容都排成一行,而不会中断如下行:

在此处输入图像描述

并且也没有水平滚动条。有什么办法可以将文本放在新行但在同一行上,以便所有数据都可见。如果您注意到快照末尾有点,尽管仍有一些文本需要,但我看不到它们之外显示。

我试过增加行的高度,但这没有帮助。

注意:我在构造函数中做了这个:

jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
4

2 回答 2

1

您将不得不提供自己的表格单元格渲染器。

查看

您将遇到的问题是更新各个行的行高。该JTable#rowHeight(row, height)方法不依赖于任何模型或渲染器。

您可以查看JTable 多行单元格渲染器以获得灵感,但我并不热衷于单元格渲染做出可能导致表格重新渲染的决策的想法。

你可以重写的prepareRenderer方法JTable来做到这一点,但这变得很脏

于 2012-10-15T05:43:11.000 回答
1

您可以在诸如JLabel(默认渲染器)之类的 HTML 组件中使用 HTML 格式,或者使用诸如JTextArea渲染内容的多行组件。

另请参阅如何使用表格 - 概念:编辑器和渲染器

于 2012-10-15T05:55:26.440 回答