【发布时间】:2013-12-19 07:53:51
【问题描述】:
我是 JavaFX 的新手。我使用此参考制作了自定义 TreeCell:-
http://fxexperience.com/2012/05/listview-custom-cell-factories-and-context-menus/
它非常适合我。但我的情况是我不想将此上下文菜单应用于子节点。开始时只有单个 TreeItems,而在后期这些 TreeItems 有子级,因此尝试检查 isLeaf() 方法没有意义,因为在启动时 TreeItems 处于叶级但后来它们成为父级。
所以知道我该如何实现这一点。
非常感谢。
更新:
在我的项目的初始阶段,有一棵树有三个孩子(邮件服务提供商),如下所示:-
在我连接这些提供者之后,它们具有以下结构:-
邮箱 |____收件箱 |____已发送 雅虎 |___收件箱 |___已发送 |___草稿 雷迪夫 |___收件箱现在我只需要 Gmail、Yahoo 和 rediff 上的上下文菜单,而不是收件箱或已发送邮件上的上下文菜单。
我知道 setContextmenu() 方法,但它适用于 TreeView 而不适用于 TreeItem。
【问题讨论】:
-
不清楚您想要上下文菜单的哪个位置,在树或列表的哪个位置?可以使用 .setContextMenu 在任何控件上添加一个
-
树有多少层,你想要上下文菜单在哪一层?
-
来一些示例代码来展示你是如何构建你的树的。
-
嗨布赖恩,感谢您的回复,我想要树上的 ContextMenu。我同意你的观点,我们只能在一个控件上应用,比如 TreeView,但我想为 Treeitems 添加相同的上下文菜单。 .setContextMenu() 将为所有树项添加上下文菜单,但我不想为所有树项添加上下文菜单。
-
感谢 Jurgen 的回复,最初我的树只有零级,后来它变成了一级树,正如我现在提出的问题中所示。请参阅我更新了问题详细信息。
标签: javafx