我正在尝试覆盖 DefaultTableModel 类的 isCellEditable 方法,以使我的表格单元格不可编辑。我正在尝试通过使用匿名内部类来实现这一点,
但是表格单元格仍然是可编辑的,并且在尝试调试时我发现代码没有执行覆盖的方法,而是在实例化 DefaultTableModel 类后直接调用 DefaultTableModel 的 isCellEditable 方法。为什么会这样???
检查模型的创建位置。表在某处初始化(行/列数据添加到表中)。在这个地方(现在显示在您的代码中)内部类被替换为TableModel
(DefaultTableModel
我认为的实例)的另一个实例
改写类isCellEditable(int, int)
的。JTable
注意:您的问题的标题非常具有误导性,因为您覆盖了isCellEditable(int, int)
of DefaultTableModel
,而不是JTable
。
另一个注意事项:我认为很明显您正在使用 GUI 构建器,我的建议是不要使用它,因为您不会从 GUI 构建器那里学到任何东西。