【发布时间】:2015-01-28 21:01:30
【问题描述】:
我有一个非常大的JTable,我想向JFrame 添加滚动条,这样我就可以滚动查看表格的其余部分,而不是调整框架的大小。
问题是,当我添加表格和滚动条时,列的宽度会缩小以适应窗口的大小。有什么方法可以保持列的宽度不变并使用滚动条来查看表格的其余部分?
【问题讨论】:
标签: java swing jtable jscrollpane
我有一个非常大的JTable,我想向JFrame 添加滚动条,这样我就可以滚动查看表格的其余部分,而不是调整框架的大小。
问题是,当我添加表格和滚动条时,列的宽度会缩小以适应窗口的大小。有什么方法可以保持列的宽度不变并使用滚动条来查看表格的其余部分?
【问题讨论】:
标签: java swing jtable jscrollpane
“有什么方法可以保持列的宽度不变并使用滚动条来查看表格的其余部分?”
在这种情况下,比为列设置固定(恒定)宽度更好的解决方案是将 JTable 的 autoResizeMode 属性设置为 AUTO_RESIZE_OFF 以避免列被自动调整大小以适应表格的可见区域:
JTable table = new JTable(15, 25);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JScrollPane scrollPane = new JScrollPane(table);
这个 sn-p 将生成一个 15 行 25 列的表格,如下所示(注意水平滚动条):
但是,如果表格中列宽的总和小于表格的宽度,则此方法将无济于事。在这种情况下,最好让默认的AUTO_RESIZE_SUBSEQUENT_COLUMNS 策略。
【讨论】: