2013-04-17 69 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

相关问题