可能重复:
如何防止单个列在 JTable 中重新排序?
使用:
getTableHeader().setReorderingAllowed(false);
将防止所有列重新排序。但是,我只想防止第一列被重新排序。
谷歌搜索后,这是我发现的最接近的:
setColumnModel(new DefaultTableColumnModel() {
public void moveColumn(int columnIndex, int newIndex) {
if (columnIndex == 0 || newIndex == 0) return; // don't allow
super.moveColumn(columnIndex, newIndex);
}
});
但是,这会在尝试拖动第一列时导致奇怪的视觉缺陷。任何人都可以完美解决这个问题?