public class TableSaveAutoColumnSize {
List<TableColumn> tableColumnList = new ArrayList<TableColumn>();
JTable table;
public TableSaveAutoColumnSize(JTable table) {
this.table = table;
saveAutoColumnSize();
}
public void saveAutoColumnSize() {
TableColumnModel tcm = table.getColumnModel();
Enumeration<TableColumn> cm = tcm.getColumns();
while (cm.hasMoreElements()) {
TableColumn tt = cm.nextElement();
tableColumnList.add(tt);
}
}
public void resetWithAutoColumnSize() {
TableColumnModel tcm = table.getColumnModel();
Enumeration<TableColumn> cm = tcm.getColumns();
int j = 0;
while (cm.hasMoreElements()) {
TableColumn tt = cm.nextElement();
tt.setWidth(tableColumnList.get(j).getWidth());
tt.setPreferredWidth(tableColumnList.get(j).getPreferredWidth());
j++;
}
}
}
使用方式:
TableSaveAutoColumnSize ts = new TableSaveAutoColumnSize(table);
model.setDataVector(data, title);
ts.resetWithAutoColumnSize();
本文介绍了一个用于自动保存并应用JTable列宽度的Java类。通过此类,可以轻松地在表格中保存和恢复列宽度设置,提高用户体验。

被折叠的 条评论
为什么被折叠?



