【发布时间】:2017-09-04 16:55:05
【问题描述】:
试图让我的 JTable 列宽自动调整为它的值宽度。
例如,我有一个带有文本“只是一个测试”的 column1,我得到了这个结果:
|column1|
|-------|
|just ..|
但我需要它是这样的:
|column1 |
|-----------|
|just a test|
我已经在整个 JTable 库中搜索了这个,找不到任何相关的东西。有什么帮助吗?
【问题讨论】:
试图让我的 JTable 列宽自动调整为它的值宽度。
例如,我有一个带有文本“只是一个测试”的 column1,我得到了这个结果:
|column1|
|-------|
|just ..|
但我需要它是这样的:
|column1 |
|-----------|
|just a test|
我已经在整个 JTable 库中搜索了这个,找不到任何相关的东西。有什么帮助吗?
【问题讨论】:
第一个答案
为此,您应该像这样访问表格的列:
TableColumn column = null;
column = table.getColumnModel().getColumn(/*here the index of your column*/);
column.sizeWidthToFit();
如果标题为空,请小心,否则它将什么都不做
一些来源以防万一 https://docs.oracle.com/javase/tutorial/uiswing/components/table.html#width https://docs.oracle.com/javase/7/docs/api/javax/swing/table/TableColumn.html#sizeWidthToFit()
更新
经过更多搜索后,我发现这篇上一篇文章应该可以更好地解决您的问题 Auto resizing the JTable column widths
【讨论】:
sizeWidthToFit 方法只调整列大小以适应列标题的宽度,而不是值。
if they value is shorter than COLUMN NAME in header, the header shorterers. - 看到这个帖子:stackoverflow.com/a/31977776/131872