JTable,禁用用户列拖动

77

我已经将我的JTable声明为:

data_table = new JTable(info, header) {
    @Override
    public boolean isCellEditable(int row, int column) {
        return false;
    }
};

但我发现在运行时,可以用鼠标拖动列。怎么禁用这个功能?

2个回答

142

data_table.getTableHeader().setReorderingAllowed(false); 应该可以解决问题,除非您指的是用户可以调整列标题的大小。


这里还有一些不错的阅读材料:http://www.coderanch.com/t/346302/GUI/java/Restrict-User-Move-Column-JTable,以及另一个答案:https://dev59.com/JXM_5IYBdhLWcg3w9oMA。 - Benj

-1
对于在使用Netbeans IDE时遇到此问题的任何人,您可以通过以下步骤禁用用户在JTable中拖动列。

Customizer Dialog

  • 右键点击表格
  • 选择表格内容
  • 单击列选项卡
  • 取消选中允许通过拖放重新排序列

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接