import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;public class TreeView extends JPanel
{
SuperModel model;
public TreeView(SuperModel model)
{
this.model=model;
this.setLayout(new BorderLayout());
this.setBackground(Color.white);
this.setOpaque(true);
}
public void reload()
{
DefaultMutableTreeNode root = new DefaultMutableTreeNode("ROOT");
JTree tree=new JTree(root);
TreeController controller=new TreeController();
tree.addTreeSelectionListener(controller);
tree.addTreeExpansionListener(controller);
tree.addTreeWillExpandListener(controller);
tree.addMouseListener(controller);
this.add(tree,BorderLayout.WEST); //载入某层
loadLayer(model,root,0);
}
public void loadLayer(SuperModel model,DefaultMutableTreeNode me,int now)
{
//载入节点
loadNode(model,me,now);
//载入连接
loadLink(model,me,now);
}
public void loadNode(SuperModel model,DefaultMutableTreeNode me,int now)
{
Vector nodes=model.getNode(now);
for(int i=0;i<nodes.size();i++)
{
NodeInfo node=(NodeInfo)nodes.get(i);
DefaultMutableTreeNode sub = new DefaultMutableTreeNode("Node id="+node.id+" type="+node.type+" state="+node.state);
me.add(sub);
loadLayer(model,sub,node.id);
}
}
public void loadLink(SuperModel model,DefaultMutableTreeNode me,int now)
{
Vector links=model.getLink(now);
for(int i=0;i<links.size();i++)
{
LinkInfo link=(LinkInfo)links.get(i);
DefaultMutableTreeNode sub = new DefaultMutableTreeNode("Link id="+link.id+" type="+link.type+" state="+link.state);
me.add(sub);
}
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;public class TreeView extends JPanel
{
SuperModel model;
public TreeView(SuperModel model)
{
this.model=model;
this.setLayout(new BorderLayout());
this.setBackground(Color.white);
this.setOpaque(true);
}
public void reload()
{
DefaultMutableTreeNode root = new DefaultMutableTreeNode("ROOT");
JTree tree=new JTree(root);
TreeController controller=new TreeController();
tree.addTreeSelectionListener(controller);
tree.addTreeExpansionListener(controller);
tree.addTreeWillExpandListener(controller);
tree.addMouseListener(controller);
this.add(tree,BorderLayout.WEST); //载入某层
loadLayer(model,root,0);
}
public void loadLayer(SuperModel model,DefaultMutableTreeNode me,int now)
{
//载入节点
loadNode(model,me,now);
//载入连接
loadLink(model,me,now);
}
public void loadNode(SuperModel model,DefaultMutableTreeNode me,int now)
{
Vector nodes=model.getNode(now);
for(int i=0;i<nodes.size();i++)
{
NodeInfo node=(NodeInfo)nodes.get(i);
DefaultMutableTreeNode sub = new DefaultMutableTreeNode("Node id="+node.id+" type="+node.type+" state="+node.state);
me.add(sub);
loadLayer(model,sub,node.id);
}
}
public void loadLink(SuperModel model,DefaultMutableTreeNode me,int now)
{
Vector links=model.getLink(now);
for(int i=0;i<links.size();i++)
{
LinkInfo link=(LinkInfo)links.get(i);
DefaultMutableTreeNode sub = new DefaultMutableTreeNode("Link id="+link.id+" type="+link.type+" state="+link.state);
me.add(sub);
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货