我正在为JTable
构建一个应该能够处理用户编辑的Applet
。因此,我扩展了AbstractTableModel
并成功填充了数据表。我的问题是,一旦填充了数据,点击表格就不允许进行编辑。
我已将isCellEditable()
方法重写为始终return true
,并且每次调用该方法时都会向控制台输出一条消息。但是,当我与表进行交互时(通过在任何给定的单个单元格上连续点击鼠标),单元格不会变得可编辑,并且isCellEditable()
也永远不会被调用。
我的问题是,为了编辑特定的单元格需要调用什么?我为帖子中缺少代码而道歉,但代码是高度专有的,我的上级对发布任何代码都非常严格。
答案 0 :(得分:4)
为了保护您的上司的利益,请编辑您的问题以包含展示您所描述问题的sscce。可以在How to Use Tables中找到适合起点的几个示例,此example说明了可编辑的AbstractTableModel
。您可以将其与您的实施进行比较。
答案 1 :(得分:3)
1.您是否已将AbstractTableModel
添加到屏幕上已显示的JTable
2.如果是,则代码行不是isCellEditable()
,但应该是
@Override
public boolean isCellEditable(int row, int column) {
return true;
}
3.我建议使用DefaultTableModel
而不是覆盖AbstractTableModel
所需的方法