3

我正在构建一个应该能够处理用户编辑的JTablefor 。Applet因此,我已经扩展AbstractTableModel并成功地用数据填充了表格。我的问题是,一旦填充了数据,单击表格就不允许进行编辑。

我已将该isCellEditable()方法重写为 always return true,并在每次调用该方法时向控制台打印一条消息。但是,当我与表格交互时(通过任意数量的连续鼠标单击任何给定的单个单元格),该单元格不会变得可编辑,也isCellEditable()永远不会被调用。

我的问题是,为了编辑特定的单元格需要调用什么?对于帖子中缺少代码,我深表歉意,但代码是高度专有的,我的上级对发布任何代码都非常严格。

4

2 回答 2

4

To protect your superiors' interests, edit your question to include an sscce that exhibits the problem you describe. Several example suitable for a starting point may be found in How to Use Tables, and this example illustrates an editable AbstractTableModel. You might compare it with your implementation.

于 2012-06-01T20:31:53.253 回答
3

1.你添加AbstractTableModelJTable屏幕上已经可见

2.如果是,那么代码行不是isCellEditable(),但应该是

@Override
public boolean isCellEditable(int row, int column) {
    return true;
}

3.我建议使用DefaultTableModel而不是覆盖所需的方法AbstractTableModel

于 2012-06-01T20:26:26.963 回答