我有一個5級深度0,1,2,3,4級的JTree。我對1級的信息,價值或指數感興趣。當選擇低於1級時,是否可以立即獲得1級信息?JTree選擇
JTree選擇
回答
如果您的1級節點是靜態的,您可以在樹類中保留對它們的引用。這會給你一個訪問這些節點的直接方式,假設你已經使用了派生類的信息,那麼你就可以得到派生類的信息。
還有DefaultTreeModel.getChild(...),它可以讓你通過它的索引獲得節點在根節點下。
如果您試圖將樹「上移」到1級節點,則可以在樹模型上嘗試getPathToRoot。級別1節點(就在根目錄下)將是結果[1]。
@ user131273您絕對不應該保留對樹節點的靜態引用。如果使用'DefaultMutableTreeNode'或類似的實現,其中節點具有對子節點的引用,那麼所有的樹實例將在相同的節點上運行,並且最終將來自樹A的節點與樹B中的節點混合。僅供參考。 – 2010-11-17 00:15:57
@煞車是的,那是真的。我的意思是靜態的,意思是「不會改變」的英文單詞,而不是「跨所有實例共享」的Java語言意義。對我來說糟糕的詞選擇! :-) – 2010-12-06 00:38:15
如果有興趣在所選擇的電平1的節點使用該方法
JTree.getSelectionPath()
獲取所選的TreePath然後檢查的TreePath返回具有至少2個元素(第一個是根,第二所選擇的電平1節點)與
TreePath.getPathCount()
如果返回> = 2,然後使用
TreePath.getPathComponent(1)
獲取選定的1級節點。 (0索引是根)
- 1. JTree選擇顏色
- 2. JTree鼠標釋放選擇
- 3. JTree的選擇路徑
- 4. JTree的選擇沒有生成事件
- 5. JTree:如何選擇第一片葉
- 6. JTree TreeCellRenderer不突出顯示選擇
- 7. 未選擇Jtree節點擴展
- 8. JTree:檢查選擇的級別
- 9. 覆蓋選擇顏色 - JTree的
- 10. 如何讓JTree選擇模型只允許同胞選擇?
- 11. 選擇jtree中的所有複選框節點
- 12. 基於JTree的選擇在JPopupMenu中顯示/隱藏JMenuItems
- 13. 如何根據JTree選擇優化顯示不同的JPanel
- 14. Java JTree在重新選擇文件時會凍結
- 15. 在JTree上獲取多個根目錄以選擇葉 - Swing
- 16. 的Java JTree的取消對已經選擇
- 17. JTree:以編程方式選擇所有節點
- 18. JTree的:如何獲得一個選擇的節點
- 19. 如何以編程方式在jTree子上設置選擇
- 20. 如何從一個Jtree中選擇一個葉,並在另一個JTree中顯示其匹配結果
- 21. JTree創建新文件使其選中
- 22. 如何從多選JTree傳遞信息?
- 23. 與複選框和JFileChooser Swing JTree
- 24. Java:如何以編程方式選擇並擴展JTree中的多個節點?
- 25. JTree數據庫節點選擇並顯示在java中的文本字段
- 26. 使用延遲加載恢復JTree中的擴展/選擇狀態
- 27. 阻止JTree選擇發生變化的最佳方法是什麼?
- 28. 如何通過鍵盤或鼠標檢測JTree上的選擇更改?
- 29. 如何從JTree中刪除一個元素而不使用.getSelectionPath()進行選擇?
- 30. MouseListener和JTree
嗯......你是否試圖找到所選項目上面的第1級節點*? – 2009-09-02 02:06:38
也許我把它描述錯了。我認爲0級是根,4級是葉。我需要的是如果用戶的選擇是在2級,3級或4級,我想立即得到相應的1級的信息。 – 5YrsLaterDBA 2009-09-02 02:45:07