1

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

在此处输入图像描述

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

4

2 回答 2

3

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

于 2013-09-25T11:47:56.803 回答
1

改写类isCellEditable(int, int)的。JTable

注意:您的问题的标题非常具有误导性,因为您覆盖了isCellEditable(int, int)of DefaultTableModel,而不是JTable

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

于 2013-09-25T11:45:33.363 回答