2013-04-17 70 views
1

我需要將Hashmap綁定到MutableTreeNode,以便我可以將其顯示在JTree中。將HashMap <String,String>綁定到MutableTreeNode

我有以下代碼:

static Map<String, String> form = new LinkedHashMap<String,String>(); 

我想這就是我需要實現MutableTreeNode。我現在只是不知道如何開始獲取鑰匙的「形式」出現在MutableTreeNode

public class MyNode implements MutableTreeNode { 

    @Override 
    public Enumeration children() { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public boolean getAllowsChildren() { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    @Override 
    public TreeNode getChildAt(int childIndex) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public int getChildCount() { 
     // TODO Auto-generated method stub 
     return 0; 
    } 

    @Override 
    public int getIndex(TreeNode node) { 
     // TODO Auto-generated method stub 
     return 0; 
    } 

    @Override 
    public TreeNode getParent() { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public boolean isLeaf() { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    @Override 
    public void insert(MutableTreeNode arg0, int arg1) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void remove(int arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void remove(MutableTreeNode arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void removeFromParent() { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void setParent(MutableTreeNode arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void setUserObject(Object arg0) { 
     // TODO Auto-generated method stub 

    } 

MutableTreeNode正確顯示正確的Key價值,我希望能夠做到:

final JTree tree = new JTree(); 
final DefaultMutableTreeNode CustomNode = new DefaultMutableTreeNode("Custom"); 
DefaultTreeModel tm = new DefaultTreeModel(CustomNode); 
tree.setModel(tm); 

for (String str : form.keySet()) 
     { 
      MyNode nod = new MyNode(str); 
      CustomNode.add(node);   
     } 
tm.reload(); 
+0

無關:請學習java命名約定並堅持使用它們。 – kleopatra

+0

你是什麼意思? – Omid

+0

_naming conventions_中很難理解什麼? – kleopatra

回答

3

你可能想的TreeModel界面的自定義實現。如How to Use Trees: Creating a Data Model中所述,

TreeModel接口接受任何類型的對象作爲樹節點。它不要求節點由DefaultMutableTreeNode對象表示,或者甚至該節點實現接口TreeNode

雖然你Map<String, String>本質上不是分層的,你可能會得到來自GenealogyModel想法,引hereFileTreeModel引用herehere

相關問題