可能重复:
How to keep a single column from being reordered in a 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);
}
});
但是,这会在尝试拖动第一列时导致奇怪的视觉缺陷。任何人都有解决这个问题的完美方案吗?