JTable刷新

时间:2011-10-12 06:48:12

标签: java swing jtable jpanel

我将JTable与水平和垂直滚动条一起使用。我的JTable在包含数据的行之后有空格。 当我打开位于我桌子下方的面板时,它隐藏了JTable的一部分,并且JTable上出现了滚动。这是正常行为,但随后关闭该面板,没有数据的空白空间变为灰色而不是白色。 这只发生在我的JTable上有水平滚动条时。我想我必须强迫JTable重新绘制,我在resizeAndRepaint()TableHeader上尝试了JTable但它没有用。

请帮忙!谢谢! 如果在表

上执行了任何调整大小操作,则调用resize()代码
for (int i = 0; i < columsNum; i++){
        TableColumn column = this.getColumnModel().getColumn(i);
        int preferedSize = //current size
        int minimumSize = // min size
        if (minimumSize != ColumnSizeCalculator.UNDEFINED_WIDTH)
            column.setMinWidth(minimumSize);            
        column.setPreferredWidth(preferedSize);        
    }   

    this.revalidate();
    this.repaint();

1 个答案:

答案 0 :(得分:4)

默认情况下,JTable不会在垂直方向上填充滚动窗格的视口。试着打电话

table.setFillsViewportHeight(true);
在你的桌子上

,然后重新绘制表应该有效。