package com.vci.client.framework.rightConfig.functiontree;
|
|
import javax.swing.JTree;
|
import javax.swing.event.TreeModelEvent;
|
import javax.swing.event.TreeModelListener;
|
import javax.swing.tree.DefaultTreeCellRenderer;
|
import javax.swing.tree.TreeModel;
|
import javax.swing.tree.TreePath;
|
|
/**
|
* <p>Title: </p>
|
* <p>Description: use this class to wrap the JTree, user just set tow parameters
|
* to create a new tree. The parameters are TreeModel and DefaultTreeCellRenderer.</p>
|
* <p>Copyright: Copyright (c) 2009</p>
|
* <p>Company: VCI</p>
|
* @author eddie
|
* @time 2009-4-8
|
* @version 1.0
|
*/
|
public class CommonTree extends JTree{
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = -7587926620173480552L;
|
|
public CommonTree(TreeModel treeModel, DefaultTreeCellRenderer treeCellRenderer) {
|
super(treeModel);
|
this.putClientProperty("JTree.lineStyle", "Angled");
|
this.setCellRenderer(treeCellRenderer);
|
this.setEditable(false);
|
|
treeModel.addTreeModelListener(new TreeModelListener() {
|
public void treeNodesInserted(TreeModelEvent e) {
|
try {
|
scrollPathToVisible(new TreePath(e.getPath()));
|
} catch (Exception ae) {
|
ae.printStackTrace();
|
}
|
}
|
|
public void treeNodesRemoved(TreeModelEvent e) {
|
try {
|
scrollPathToVisible(new TreePath(e.getPath()));
|
} catch (Exception ae) {
|
ae.printStackTrace();
|
}
|
}
|
|
public void treeNodesChanged(TreeModelEvent e) {
|
try {
|
scrollPathToVisible(new TreePath(e.getPath()));
|
} catch (Exception ae) {
|
ae.printStackTrace();
|
}
|
}
|
|
public void treeStructureChanged(TreeModelEvent e) {
|
try {
|
scrollPathToVisible(new TreePath(e.getPath()));
|
} catch (Exception ae) {
|
ae.printStackTrace();
|
}
|
}
|
});
|
}
|
}
|