我有一個JTree,當我右鍵單擊JTree中的節點時顯示JPopupMenu。基於JTree中選擇的節點,在我的JPopupMenu中隱藏/顯示或啓用/禁用某些JMenuItems的最佳方法是什麼?基於JTree的選擇在JPopupMenu中顯示/隱藏JMenuItems
想到的第一個解決方案是將「TreeSelectionListener」添加到JTree中的「值已更改」事件。在事件處理代碼中,我將使用TreeSelectionEvent的getNewLeadSelectionPath()方法來獲取最近選擇的路徑,並使用生成的TreePath對象的getLastPathComponent()來獲取選定的節點。從這裏我將有一系列的IF語句訪問我的JPopupMenu對象,並執行必要的修改以隱藏/顯示特定的JMenuItems。
然而,這件事情讓人覺得很失落,所以我決定我會問是否有更好的方法。