Java 从表中删除空的

Java 从表中删除空的,java,swing,jtable,Java,Swing,Jtable,在我的program的一个特殊阶段,我想改变行的高度,这是可行的,但是表中仍然有一个灰色的空白,如图所示 我尝试了以下方法 jTable1.setRowHeight(60); jTable2.setPreferredSize(new java.awt.Dimension(120,225)); jTable2.setMaximumSize(new java.awt.Dimension(120,225)); jTable2.setMinimumSize(new java.awt.Dimensio

在我的program的一个特殊阶段,我想改变行的高度,这是可行的,但是表中仍然有一个灰色的空白,如图所示

我尝试了以下方法

jTable1.setRowHeight(60);

jTable2.setPreferredSize(new java.awt.Dimension(120,225));
jTable2.setMaximumSize(new java.awt.Dimension(120,225));
jTable2.setMinimumSize(new java.awt.Dimension(120,225));
但是表的大小没有改变。有什么解决办法吗?

看看

表fillsViewportHeight=false

表fillsViewportHeight=true

看一看

表fillsViewportHeight=false

表fillsViewportHeight=true


首先,为什么?第二,您可能希望通读一遍,因为视图或形状将不美观,并且行看起来也不相等。在这种情况下,请将视口背景颜色设置为与表背景相同的颜色。@如果可以更改表的大小,以满足表父容器的布局管理器的要求(即,将表格添加到滚动窗格时,即添加到
JViewPort
容器),这可能会影响表的大小。您需要小心使用
JTable
,因为更改首选大小可能会导致表截断其内容。最好让
JTable
计算其要求并通过布局管理器操纵大小。尝试将视口布局管理器更改为e
BorderLayout
example@trashgod设置可滚动的pref几乎和使用settXXSize一样糟糕。这几乎是因为默认实现在core中没有多大用处(JXTable使用visibleRowCount/ColumnCount属性来计算px中的pref)首先,原因是什么?其次,您可能希望通读一遍,因为视图或形状将不美观,而且行的外观也不相同。在这种情况下,请将视口背景颜色设置为与表背景相同的颜色。@可以更改表的大小,以满足表父级布局管理器的要求容器(即,将表添加到滚动窗格时,即添加到
JViewPort
容器),这可能会影响表的大小。您需要小心使用
JTable
,因为更改首选大小可能会导致表截断其内容。最好让
JTable
计算其要求并通过布局管理器操纵大小。尝试将视口布局管理器更改为e
BorderLayout
example@trashgod设置可滚动的pref几乎和使用settXXSize一样糟糕。这几乎是因为默认实现在core中没有多大用处(JXTable使用visibleRowCount/ColumnCount属性来计算px中的pref)请编辑您的问题,以包含显示您当前方法的。永远不要使用setXXSize,因为布局问题总是由layoutManager解决的(如@MadProgrammer answer的评论中所述)。因此,首先,准确地定义您希望在哪个上下文中达到的目的。@kleopatra谢谢,我想要的确切内容如下:当我在程序运行时更改行的宽度时,行的宽度会更改,但表的大小不会更改,它仍然是固定的。我希望我现在可以更好地解释这个问题。请编辑您的question包含一个显示当前方法的选项。永远不要使用setXXSize,因为布局问题总是由layoutManager解决的(如@MadProgrammer answer注释中所述)。因此,首先,准确定义您希望在哪个上下文中达到的目的。@kleopatra谢谢,我想要的确切内容如下:当我在程序运行时更改行的宽度时,行的宽度会更改,但表的大小不会更改,它仍然是固定的。我希望现在可以更好地解释这个问题