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

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

虽然电子表格似乎有效(例如Open Office Calc),但是如果你选择进入字段并开始编辑,则清除字段并按下第一个字符成为字段中的第一个值,依此类推。

我希望我的应用程序的工作方式与电子表格相同。 通过inheritanceDefaultCellEditor并添加

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

我可以在tabbing时让它按照我想要的方式工作,但它也会在双击时清除我不想要的字段。

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

也覆盖isCellEditable(EventObject anEvent)方法。

这样您就可以捕获将触发(或不激活)表格版本的事件并按您希望的方式运行