private void saveColumnWidth() { int n = columnNames.length; for (int i = 0; i <n;i++) { TableColumn tcl = jTable1.getColumn(columnNames[i]); columnWidth[i] =tcl.getWidth(); } } private void loadColumnWidth() { int n = columnNames.length; for (int i = 0; i <n;i++) { TableColumn tcl = jTable1.getColumn(columnNames[i]); tcl.setWidth(columnWidth[i]); jTable1.sizeColumnsToFit(i); } }
即setMinWidth()、setMaxWidth()和setPreferredWidth()方法,方法的参数为int型
{
int n = columnNames.length;
for (int i = 0; i <n;i++)
{
TableColumn tcl = jTable1.getColumn(columnNames[i]);
columnWidth[i] =tcl.getWidth();
}
} private void loadColumnWidth()
{
int n = columnNames.length;
for (int i = 0; i <n;i++)
{
TableColumn tcl = jTable1.getColumn(columnNames[i]);
tcl.setWidth(columnWidth[i]);
jTable1.sizeColumnsToFit(i);
}
}
我到现在还尚存疑问.
setPreferedWidth()没有效果.如果你设定一列的宽度可以:
TableColumn tcl = table.getColumn(columnName);
tcl.setMinWidth(100);
tcl.setMaxWidth(100);
table.sizeColumnsToFit(0); // 一定要加上,是Swing的bug如果要能拉动
TableColumn tcl = table.getColumn(columnName);
tcl.setMinWidth(100);
tcl.setMaxWidth(maxwidth);
table.sizeColumnsToFit(0);
这时候tcl.getWidth返回是100.,为什么是100我也不知道//preferedWidth为什么没有起作用,我不知道