我将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();
答案 0 :(得分:4)
默认情况下,JTable不会在垂直方向上填充滚动窗格的视口。试着打电话
table.setFillsViewportHeight(true);
在你的桌子上,然后重新绘制表应该有效。