Java 使用默认表模型时重新调整JTable的大小

Java 使用默认表模型时重新调整JTable的大小,java,swing,jtable,defaulttablemodel,preferredsize,Java,Swing,Jtable,Defaulttablemodel,Preferredsize,我有一个使用DefaultModel构建的JTable,它显示在JPane中,但我想重新调整表的大小,使其更大。谁能解释一下我是怎么做到的?我尝试了以下代码: TableColumnModel colsize = t1.getColumnModel(); for(int i=0; i<cols; i++){ colsize.getColumn(i).setPreferredWidth(200); } TableColumnModel colsize=t1.getColumnM

我有一个使用DefaultModel构建的JTable,它显示在JPane中,但我想重新调整表的大小,使其更大。谁能解释一下我是怎么做到的?我尝试了以下代码:

TableColumnModel colsize = t1.getColumnModel();

for(int i=0; i<cols; i++){

    colsize.getColumn(i).setPreferredWidth(200);
}
TableColumnModel colsize=t1.getColumnModel();
用于(int i=0;i来确定

调整列的大小


我希望这将有助于解决您的问题。如果在实现此功能时遇到任何问题,请询问。

使用
setPreferredSize()
是。因为
JTable
实现了
Scrollable
,覆盖
getPreferredScrollableViewportSize()
以返回
getRowHeight()的倍数
可能是一种更好的方法。

您想让JTable变大还是改变列的宽度?@smit主要是对列进行调整,但我相信列不会因为表的大小而重新调整大小,因为在视图中,我可以重新调整cloumn的大小,但会使一列变大,而下一列变小以适应相同的表边界。因此,我需要使JTable变大感谢此帮助。是否有方法根据该列上的值的长度设置PerferredWidth()。您必须输入int值来指定宽度。因此,您可以计算该宽度部分并设置该计算值。
table.setPreferredSize(new Dimension(500, 500));
table.getColumn(columnNames[0]).setPreferredWidth(100);
table.getColumn(columnNames[1]).setPreferredWidth(400);