Rambler's Top100

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я

Все примеры | Примеры по пакетам

Создание дерева (JTree) из карты (HashMap)


//Создание дерева (JTree) из карты (HashMap)
//Используется специфическая карта Map< String, Vector>
package tree;
import collection.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
import javax.swing.*;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
public class TreeFromMap {
static Vector v = new Vector();
static Vector v1 = new Vector();
static Map< String, Vector> map = new HashMap< String, Vector>();
static Map< String, Vector> submap=new HashMap< String, Vector>();
static DefaultTreeModel tm;
static DefaultTreeModel tm1;
public static void main(String[] args) {
        v = new Vector();
        v.add("b");
        v.add("c");
        map.put("a",v);
        //--добавление детских узлов к "a"
        v = new Vector();
        v.add("b1");
        v.add("b2");
        map.put("b",v);
        //-добавление детских узлов к "b"
        v = new Vector();
        v.add("c1");
        v.add("c2");
        v.add("c3");
        map.put("c",v);
        //---добавление детских узлов к "c"
        v = new Vector();
        v.add("c11");
        v.add("c12");
        v.add("c13");
        v.add("c14");
        map.put("c1",v);
          //---добавление детских узлов к "c1"
        v = new Vector();
        v.add("c21");
        v.add("c22");
        v.add("c23");
        map.put("c2",v);
         //---добавление детских узлов к "c2"
        v = new Vector();
        v.add("c221");
        v.add("c222");
        v.add("c223");
        map.put("c22",v);
        //---добавление детских узлов к "c22"
        JTree tree;
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("a");
        tm = new DefaultTreeModel(root);
        v=map.get("a");
         DefaultMutableTreeNode node0 = new DefaultMutableTreeNode(v.get(0));
      addNewNodes(root,v);
      
      v1=map.get(node0.toString());
      System.out.println("v1 "+v1);
      addNewNodes(node0,v1);
    
    tree =new JTree(tm);
    JFrame jf=new JFrame();
    JPanel jp=new JPanel();
    jf.setSize(333,333);
    jf.getContentPane().add(tree);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
    
    System.out.println("submap "+submap);
}
static void addNewNodes(DefaultMutableTreeNode currNode,Vector vec){
 DefaultMutableTreeNode node0=null;
 DefaultMutableTreeNode node1=null;
 System.out.println("currNode "+currNode);
 for(int i=0;i< vec.size();i++){
     DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(vec.get(i));
        tm.insertNodeInto(childNode, currNode, currNode.getChildCount());
        if(map.get(childNode.toString())!=null){
            v1=map.get(childNode.toString());
      addNewNodes(childNode,v1);
        }  
    }
   
}
static void submap(String key,Vector v){
        if(map.containsKey(key)){
            submap.put(key, v);
            for(int i=0;i< v.size();i++){
                String key1=v.get(i).toString();
                System.out.println("!!! "+key1);
               submap(key1,map.get(key1));
            }
        }
}
}

31.01.2009

Rambler's Top100


Ассоциативные ссылки