我有一个非常庞大的JTable
,我想向JFrame
添加滚动条,以便我可以滚动查看表格的其余部分,而不是调整框架大小。
问题是,当我添加表格和滚动条时,列的宽度会缩小以适合窗口的大小。有没有办法保持列的宽度不变,并使用滚动条查看表的其余部分?
答案 0 :(得分:2)
“有没有办法保持列的宽度不变,并使用滚动条查看表格的其余部分?”
在这种情况下,比为列设置固定(常量)宽度更好的解决方案是将JTable的autoResizeMode
属性设置为AUTO_RESIZE_OFF
,以避免列自动调整大小以适合表的可见区域:
JTable table = new JTable(15, 25);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JScrollPane scrollPane = new JScrollPane(table);
此代码段将生成一个15行和25列的表格,如下所示(请注意水平滚动条):
但是,如果表中列宽的总和小于表的宽度,则此方法将没有用处。在这种情况下,最好采用默认的AUTO_RESIZE_SUBSEQUENT_COLUMNS
政策。