JTable和JScrollPane

时间:2015-01-28 12:44:30

标签: java swing jtable jscrollpane

我有一个非常庞大的JTable,我想向JFrame添加滚动条,以便我可以滚动查看表格的其余部分,而不是调整框架大小。

问题是,当我添加表格和滚动条时,列的宽度会缩小以适合窗口的大小。有没有办法保持列的宽度不变,并使用滚动条查看表的其余部分?

1 个答案:

答案 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列的表格,如下所示(请注意水平滚动条):

15 rows, 25 columns table

但是,如果表中列宽的总和小于表的宽度,则此方法将没有用处。在这种情况下,最好采用默认的AUTO_RESIZE_SUBSEQUENT_COLUMNS政策。