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; /** *
Title:
*Description: use this class to wrap the JTree, user just set tow parameters * to create a new tree. The parameters are TreeModel and DefaultTreeCellRenderer.
*Copyright: Copyright (c) 2009
*Company: VCI
* @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(); } } }); } }