import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
public class TreeDemo {
public static void main(String[] args) {
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("Root");
List<User> list=new ArrayList<User>();
list.add(new User(1,0,"root1"));
list.add(new User(2,0,"root2"));
list.add(new User(3,0,"root3"));
list.add(new User(4,1,"root11"));
list.add(new User(5,1,"root12"));
list.add(new User(6,1,"root13"));
list.add(new User(7,2,"root21"));
list.add(new User(8,2,"root22"));
list.add(new User(9,2,"root23"));
generateCatalogTree(0,rootNode,list);
final JTree tree = new JTree(rootNode);
JFrame f = new JFrame("JTreeDemo");
f.add(tree);
f.setSize(300, 300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
static private void generateCatalogTree(int ID,DefaultMutableTreeNode pNode,List<User> list){
DefaultMutableTreeNode childNode = null;
for(User user:list){
if(user.pid==ID){
childNode=new DefaultMutableTreeNode(user.name);
pNode.add(childNode);
generateCatalogTree(user.id,childNode,list);
}
}
}
}
class User {
public String name;
public int id;
public int pid;
public List<User> lst=new ArrayList<User>();
public User(int id,int pid,String name) {
this.id=id;
this.pid=pid;
this.name = name;
}
public User(String name) {
this.name = name;
}
public String toString() {
return name;
}
}
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
public class TreeDemo {
public static void main(String[] args) {
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("Root");
List<User> list=new ArrayList<User>();
list.add(new User(1,0,"root1"));
list.add(new User(2,0,"root2"));
list.add(new User(3,0,"root3"));
list.add(new User(4,1,"root11"));
list.add(new User(5,1,"root12"));
list.add(new User(6,1,"root13"));
list.add(new User(7,2,"root21"));
list.add(new User(8,2,"root22"));
list.add(new User(9,2,"root23"));
generateCatalogTree(0,rootNode,list);
final JTree tree = new JTree(rootNode);
JFrame f = new JFrame("JTreeDemo");
f.add(tree);
f.setSize(300, 300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
static private void generateCatalogTree(int ID,DefaultMutableTreeNode pNode,List<User> list){
DefaultMutableTreeNode childNode = null;
for(User user:list){
if(user.pid==ID){
childNode=new DefaultMutableTreeNode(user.name);
pNode.add(childNode);
generateCatalogTree(user.id,childNode,list);
}
}
}
}
class User {
public String name;
public int id;
public int pid;
public List<User> lst=new ArrayList<User>();
public User(int id,int pid,String name) {
this.id=id;
this.pid=pid;
this.name = name;
}
public User(String name) {
this.name = name;
}
public String toString() {
return name;
}
}