从代码请求开始编辑TreeTableCell

时间:2015-01-23 02:07:44

标签: javafx-8

我有一个工作得很好的TreeTableView。我已经实现了单击“TreeTableCell”时出现的上下文菜单。在我的上下文菜单中,我有一个名为“edit”的MenuItem,当选中时,我想让当前的TreeTableCell开始编辑。不幸的是,我无法弄清楚如何正确地开始编辑单元格。

我最初的想法是,由于上下文菜单回调在我的TreeTableCell实例的范围内,我会调用我的单元格的“startEdit”方法。这似乎有效...但是,当commitEdit发生时,我在JavaFX的内部深处得到一个NullPointerException。这让我觉得显式调用startEdit()是错误的想法,应该有一种正确的方法可以让表中的特定单元格开始编辑循环。

1 个答案:

答案 0 :(得分:1)

在较低级别的学习后,我找到了答案。我曾假设我可以针对startEdit()拨打TreeTableCell,但是标记表格单元格的正确方法是进入编辑模式。

而TableView和TreeTableView都公开了一个带有两个参数的edit()方法:

  • 从0
  • 索引的表的行号
  • 表格的TableColumn

行和列的组合提供表格中单元格的唯一位置。调用edit()会将单元格置于编辑模式。

以下是TableView编辑方法的JavaDoc:

JavaDoc for TableView edit