Java 如何将数据放在JTable的新行中,但放在同一行上,为什么不';需要时我看不到水平滚动条吗?

Java 如何将数据放在JTable的新行中,但放在同一行上,为什么不';需要时我看不到水平滚动条吗?,java,swing,jtable,Java,Swing,Jtable,我必须将大量文本放入JTable。当我尝试将文本放入JTable时,所有文本都会排成一行,而不会打断一行,如: 而且也没有水平滚动条。有没有办法把文字换成新行,但放在同一行上,这样所有的数据都可以看到。如果你注意到快照的末尾有点,尽管还有一些文字要显示,但我看不到它们以外的地方 我试过增加这一排的高度,但没有用 注:我已在构造函数中完成此操作: jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_

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

而且也没有水平滚动条。有没有办法把文字换成新行,但放在同一行上,这样所有的数据都可以看到。如果你注意到快照的末尾有点,尽管还有一些文字要显示,但我看不到它们以外的地方

我试过增加这一排的高度,但没有用

注:我已在构造函数中完成此操作:

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

您必须提供自己的表单元渲染器

退房

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

您可以查看一下以获得灵感,但我不太喜欢单元格渲染的想法,因为这样做可能会导致表自身重新渲染


您可以覆盖
JTable
prepareRenderer
方法来执行此操作,但这对来说太麻烦了。您可以在am HTML组件中使用HTML格式,例如
JLabel
(默认呈现器),或者使用多行组件,例如
JTextArea
,来呈现内容


另请参见。

我添加了代码(请参见编辑)以自动添加水平条,但随后水平滚动条不会出现!默认的单元格渲染只是一个
JLabel
。当它用完显示文本的空间时,它会显示“…”以指示该值超出了可用区域。要使其正常工作,您必须转到列模型并更新列的宽度以满足您的要求,但这不是一项琐碎的任务“我在构造函数中完成了这项工作:”为了更快地获得更好的帮助,请发布一个。我没有看到水平滚动条的原因是什么?