【发布时间】:2015-11-30 18:08:46
【问题描述】:
我在 JScrollPane 上有一个 JTable。我希望那张桌子占据整个卷轴。所以我添加了这个:table.setAutoResizeMode(JTable.AUTO_RESIZE_All_Columns); 只有几列时效果很好。但是当有很多列时,它看起来像
that:
如您所见,列太窄。我尝试为所有列添加此代码:table.getColumnModel().getColumn(1).setMinWidth(75); 它有效。我将此代码添加到 JScrollPane:setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 但水平滚动条
doesn't work:
你可以看到它,但它不起作用。我知道我可以用这段代码解决我所有的问题:
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)
但在这种情况下,我的桌子并没有占据整个卷轴。所以,当只有几列时,我希望列扩展滚动的整个宽度,并且当有很多列时,我希望列不缩小到小于某个值。我想要一个水平滚动条。有可能吗?
抱歉,这是一个愚蠢的问题。我可以用这段代码做所有我想做的事:
if (getColumnModel().getColumnCount() > 13)
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
else
setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
但是,如果有人知道更优雅的解决方案,请展示它。这对我真的很有帮助。
【问题讨论】:
标签: java swing jtable jscrollpane