[英]jTree refresh component after creating new jTree
我閱讀了許多與此相關的主題,但仍然存在一些問題。 我正在使用NB的Java桌面項目。 我已經從調色板創建了樹,現在每次單擊按鈕后我都想創建新樹並刷新它。 所以我要執行事件操作,以使新的jTree添加一些DefaultMutableTreeNode並在窗口中顯示。 有任何想法嗎?
換句話說,我應該如何創建Jtree來修改其內容? 我現在做這樣的事情:initComponents jTree1 = new JTree(nodeF); 其中,nodeF是在initComponents之前初始化的我的字段(DefaultMutableTreeNode),然后我想要修改此節點元素,以添加和刪除另一個節點。
我能夠刷新樹((DefaultTreeModel)jTree1.getModel())。reload(); 但我無法創建新的nodeF實例
我跌倒了,就像我在犯一些愚蠢的錯誤..不知道如何創建GUI正確..
第一個想法,遠離Netbeans。 使用GUI編輯器可防止您學習Swing的重要部分,並生成難以調試或自定義的代碼。
第二個想法,聽起來您可以通過設置根目錄來刷新現有樹並刪除當前內容,從而擺脫困境。 這樣,您不必每次都創建新樹。
樹結構實際上在改變嗎? 還是只是擴展/折疊樹中的節點? 我的猜測是后者。
您可能應該更改數據模型對象以實現TreeNode。 JTree將根據需要查詢TreeNode對象,以確定哪些對象具有子對象,這些子對象是什么,等等。
要在不使用內置樹控件的情況下展開/收縮樹中的節點,請使用JTree中的方法,例如expandPath或expandRow 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.