jTable isCellEditable覆盖不起作用

时间:2013-09-25 11:39:18

标签: java swing

我试图覆盖DefaultTableModel类的isCellEditable方法,使我的表格单元格不可编辑。我试图通过使用匿名内部类来实现这一点,

enter image description here

然而表格单元格仍然是可编辑的,在尝试调试时我发现代码没有执行overriden方法,而是在实例化DefaultTableModel类之后直接调用DefaultTableModel的isCellEditable方法。为什么会这样?

2 个答案:

答案 0 :(得分:3)

检查模型的创建位置。该表在某处初始化(其中行/列数据添加到表中)。在这个地方(现在显示在你的代码中),内部类被替换为TableModel的另一个实例(我认为是DefaultTableModel实例)

答案 1 :(得分:1)

改为覆盖isCellEditable(int, int)类的JTable

注意:您的问题标题非常具有误导性,因为您要覆盖isCellEditable(int, int)的{​​{1}},而不是DefaultTableModel

另一个注意事项:我认为很明显您使用的是GUI构建器,我的建议是 NOT 使用它,因为您不会从GUI构建器中学到任何东西。