使用java DefaultCellEditor在JTable中获取正确的编辑行为

时间:2010-10-20 15:36:28

标签: java swing jtable

您可以通过单击它来进入Jtable中的单元格,或者使用光标键/选项卡进入它。使用defaultCellEditor和JtextField如果使用光标键,插入符号将放在现有文本字段的末尾,而如果双击该字段,则会突出显示最后一个单词。

虽然电子表格似乎与双重克隆一样有效(例如Open Office Calc),但如果您在字段中进行选项并开始编辑,则字段将被清除,并且按下的第一个字符将成为字段中的第一个值,等等。

我希望我的应用与电子表格的工作方式相同。通过继承DefaultCellEditor并添加

final Caret caret = editField.getCaret();
    caret.setDot(0);
    editField.setText("");

我可以在Tab键时按照我想要的方式工作但是它也会在双击时清除该字段,这是我不想要的。

那么请问如何确定键盘或鼠标是否触发了单元格编辑?

1 个答案:

答案 0 :(得分:3)

也覆盖了isCellEditable(EventObject anEvent)方法。

这样您就可以捕获将触发(或不触发)表格版本的事件并按照您想要的方式行事