如何用空的JTable行填充JScrollPane的高度?

时间:2011-05-13 21:04:08

标签: java swing jtable

我将JTable放在JScrollPane中,但该表只包含多行,这使得窗格中的其余空间都为空。

有什么方法可以让JTable填满整个窗格?比如说,放空行,以便填充窗格。

由于

3 个答案:

答案 0 :(得分:10)

table.setFillsViewportHeight( true );

答案 1 :(得分:3)

JTable方法setPreferredScrollableViewportSize()是另一种管理屏幕空间的方法。有example here

答案 2 :(得分:1)

我不确定这是不是最好的方法,但它应该可以正常工作:

int rows = jTable1.getRowCount();
    int rowHeight = jTable1.getRowHeight();
    int tableHeight = jTable1.getTableHeader().getHeight()+(rows*rowHeight);
    System.out.println("JScrollpane: "+jScrollPane1.getViewport().getHeight());
    while( tableHeight<jScrollPane1.getViewport().getHeight()){
        System.out.println("JTable: "+tableHeight);
        ((DefaultTableModel) jTable1.getModel()).addRow(new Object[]{null,null,null,null});
        tableHeight+=rowHeight;
    }

显然,您需要将模型和插入的数据更改为您正在使用的任何内容。