我有一个工作得很好的TreeTableView。我已经实现了单击“TreeTableCell”时出现的上下文菜单。在我的上下文菜单中,我有一个名为“edit”的MenuItem,当选中时,我想让当前的TreeTableCell开始编辑。不幸的是,我无法弄清楚如何正确地开始编辑单元格。
我最初的想法是,由于上下文菜单回调在我的TreeTableCell实例的范围内,我会调用我的单元格的“startEdit”方法。这似乎有效...但是,当commitEdit发生时,我在JavaFX的内部深处得到一个NullPointerException。这让我觉得显式调用startEdit()是错误的想法,应该有一种正确的方法可以让表中的特定单元格开始编辑循环。
答案 0 :(得分:1)
在较低级别的学习后,我找到了答案。我曾假设我可以针对startEdit()
拨打TreeTableCell
,但是不标记表格单元格的正确方法是进入编辑模式。
而TableView和TreeTableView都公开了一个带有两个参数的edit()
方法:
行和列的组合提供表格中单元格的唯一位置。调用edit()
会将单元格置于编辑模式。
以下是TableView编辑方法的JavaDoc: