我将JTable放在JScrollPane中,但该表只包含多行,这使得窗格中的其余空间都为空。
有什么方法可以让JTable填满整个窗格?比如说,放空行,以便填充窗格。
由于
答案 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;
}
显然,您需要将模型和插入的数据更改为您正在使用的任何内容。