Codenameone 删除树节点的正确方法是什么

Codenameone 删除树节点的正确方法是什么,codenameone,Codenameone,导入com.codename1.ui.tree.tree; 导入com.codename1.ui.tree.TreeModel; 从我的树ActionListener中检测到删除操作时, 我删除了磁盘上的路径。 FileSystemStorage.getInstance().delete(node.getPath()) 然后尝试刷新curr节点中少了一个元素的树。 expandPath(true,(Object[])(node.getNodeParent().getNodesOnPath())

导入com.codename1.ui.tree.tree; 导入com.codename1.ui.tree.TreeModel; 从我的树ActionListener中检测到删除操作时, 我删除了磁盘上的路径。 FileSystemStorage.getInstance().delete(node.getPath())

然后尝试刷新curr节点中少了一个元素的树。 expandPath(true,(Object[])(node.getNodeParent().getNodesOnPath())

能否提供一个删除单个叶(文件)然后刷新父节点的工作示例

我的方法行不通。 如果我手动点击父节点两次,我会看到文件id不再按预期显示


提前感谢。

一旦显示,除非您刷新整个内容,否则树不会刷新。只有隐藏节点才会考虑事件,因此,如果折叠并重新打开,它将更新。在删除的情况下,您可以只使用特定于文件的内容,直接从其父节点中删除特定的节点组件,这有点像黑客攻击


或者,您可以通过设置模型的新实例来刷新整个树,这就是我们为GUI构建器所做的。在GUI构建器中,这很实用,因为树总是展开的。对您的实现来说可能有点痛苦。

一旦显示,除非您刷新整个内容,否则树将不会刷新。只有隐藏节点才会考虑事件,因此,如果折叠并重新打开,它将更新。在删除的情况下,您可以只使用特定于文件的内容,直接从其父节点中删除特定的节点组件,这有点像黑客攻击

或者,您可以通过设置模型的新实例来刷新整个树,这就是我们为GUI构建器所做的。在GUI构建器中,这很实用,因为树总是展开的。对于您的实现来说,这可能有点痛苦