如果autoResizeColumns的处理时间太长,可以尝试使用以下方法来减少处理时间:
table.autoResizeColumns(0, 9);
table.getModel().addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
if (e.getType() == TableModelEvent.INSERT || e.getType() == TableModelEvent.DELETE) {
// 数据更改时禁用自动调整大小
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
} else {
// 加载数据后自动调整大小
table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
table.doLayout();
}
}
});
table.getColumnModel().getColumn(0).setPreferredWidth(100);
需要根据具体情况选择适合的方法来解决autoResizeColumns处理时间过长的问题。