JTable刷新

Mar*_*tin 1 java swing jtable jpanel

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

请帮忙!谢谢!如果对表执行任何调整大小操作,则会调用以下 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();
Run Code Online (Sandbox Code Playgroud)

Ing*_*gel 5

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

table.setFillsViewportHeight(true);
Run Code Online (Sandbox Code Playgroud)

在你的桌子上,然后重新粉刷桌子应该可以。