package com.vci.client.omd.linktype;
|
|
import java.util.Arrays;
|
import java.util.Collections;
|
import java.util.List;
|
|
import javax.swing.JTree;
|
import javax.swing.tree.DefaultMutableTreeNode;
|
import javax.swing.tree.TreePath;
|
import javax.swing.tree.TreeSelectionModel;
|
|
import com.vci.client.omd.ui.OmdTreeCellRenderer;
|
import com.vci.corba.omd.ltm.LinkType;
|
import com.vci.omd.utils.LinkTypeComparator;
|
|
public class LinkTypeTree extends JTree{
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 403940569006997460L;
|
private LinkType[] linkTypes;
|
private static DefaultMutableTreeNode linkTypeRootNode = new DefaultMutableTreeNode("链接类型");;
|
|
public LinkTypeTree(){
|
super(linkTypeRootNode, false);
|
this.setAutoscrolls(true);
|
//setCellRenderer(new LTTreeCellRenderer());
|
//设置单选模式
|
this.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
|
initOrUpdate();
|
this.setCellRenderer(new OmdTreeCellRenderer());
|
}
|
|
public void initOrUpdate(){
|
try {
|
linkTypes = LinkTypeStart.getService().getLinkTypes();
|
List<LinkType> ltList = Arrays.asList(linkTypes);
|
Collections.sort(ltList, new LinkTypeComparator());
|
|
linkTypeRootNode = (DefaultMutableTreeNode) this.getModel().getRoot();
|
if(!linkTypeRootNode.isLeaf()){
|
linkTypeRootNode.removeAllChildren();
|
}
|
|
for(LinkType lt : ltList){
|
LinkTypeWrapper wrapper = new LinkTypeWrapper(lt);
|
DefaultMutableTreeNode node = new DefaultMutableTreeNode(wrapper);
|
linkTypeRootNode.add(node);
|
}
|
|
// for(int i = 0; i < ltList.size(); i++){
|
// LinkTypeWrapper wrapper = new LinkTypeWrapper(ltList[i]);
|
// DefaultMutableTreeNode node = new DefaultMutableTreeNode(wrapper);
|
// linkTypeRootNode.add(node);
|
// }
|
this.updateUI();
|
|
this.expandPath(new TreePath(linkTypeRootNode));
|
}catch(Exception e){
|
e.printStackTrace();
|
}
|
}
|
}
|