我有一個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 TreeCellRenderer不突出顯示選擇
- 5. 未選擇Jtree節點擴展
- 6. JTree進度條空白在選擇
- 7. JTree:如何選擇第一片葉
- 8. JTree:檢查選擇的級別
- 9. JTree的選擇沒有生成事件
- 10. JTree的子樹中的多重選擇
- 11. 覆蓋選擇顏色 - JTree的
- 12. 如何在選擇後從JTree中選擇節點?
- 13. 如何讓JTree選擇模型只允許同胞選擇?
- 14. jtree編程多選
- 15. 選擇jtree中的所有複選框節點
- 16. 獲得選擇的節點JTree的java的
- 17. 在JTree上獲取多個根目錄以選擇葉 - Swing
- 18. 基於JTree的選擇在JPopupMenu中顯示/隱藏JMenuItems
- 19. Java JTree在重新選擇文件時會凍結
- 20. JTree:以編程方式選擇所有節點
- 21. Java JTree:清除選擇狀態(重置參考)
- 22. jtree右鍵單擊只選擇一個節點
- 23. 在模型更新時更新JTree中的選擇路徑
- 24. 如何根據JTree選擇優化顯示不同的JPanel
- 25. 的Java JTree的取消對已經選擇
- 26. 使用Numbus L&F設置JTree選擇背景
- 27. 如何在選擇JTree節點時自動展開?
- 28. JTree的:如何獲得一個選擇的節點
- 29. 將JTree選擇綁定到外部集合?
- 30. Java:如何選擇Jtree上給定祖先的所有後代?
嗯......你是否試圖找到所選項目上面的第1級節點*? – 2009-09-02 02:06:38
也許我把它描述錯了。我認爲0級是根,4級是葉。我需要的是如果用戶的選擇是在2級,3級或4級,我想立即得到相應的1級的信息。 – 5YrsLaterDBA 2009-09-02 02:45:07