2013-04-17 2 views
1

JTree에 표시 할 수 있도록 HashmapMutableTreeNode에 바인드해야합니다.바인딩 HashMap <String, String> to MutableTreeNode

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

나는 이것이 내가 MutableTreeNode를 구현해야하는 방법이다 같아요

나는 다음과 같은 코드가 있습니다. 나는 단지 "모양"의 열쇠를 MutableTreeNode에 나타나기 위해 지금 procees하는 법을 모른다. MutableTreeNode가 제대로 올바른 Key 값을 표시 한 후

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 

    } 

, 내가 할 수 있어야합니다 :

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

_ 이름 지정 규칙에서 이해하기 어려운 내용 _? – kleopatra

답변

3

당신은 아마 TreeModel 인터페이스의 사용자 지정 구현을합니다. , How to Use Trees: Creating a Data Model에 명시된 바와 같이

TreeModel 인터페이스 트리 노드로서 오브젝트의 종류를 받아 들인다. 노드가 DefaultMutableTreeNode 오브젝트로 표현되거나 노드가 TreeNode 인터페이스를 구현하지 않아도됩니다.

Map<String, String>는 본질적으로 계층이 아니지만, 당신은 GenealogyModel에서 아이디어를 얻을 수 here을 인용, 또는 FileTreeModelherehere을 인용했다.

관련 문제