我有一个JTree,当我右键单击JTree中的节点时显示JPopupMenu。基于JTree中选择的节点,在我的JPopupMenu中隐藏/显示或启用/禁用某些JMenuItems的最佳方法是什么?基于JTree的选择在JPopupMenu中显示/隐藏JMenuItems
想到的第一个解决方案是将“TreeSelectionListener”添加到JTree中的“值已更改”事件。在事件处理代码中,我将使用TreeSelectionEvent的getNewLeadSelectionPath()方法来获取最近选择的路径,并使用生成的TreePath对象的getLastPathComponent()来获取选定的节点。从这里我将有一系列的IF语句访问我的JPopupMenu对象,并执行必要的修改以隐藏/显示特定的JMenuItems。
然而,这件事情让人觉得很失落,所以我决定我会问是否有更好的方法。