树中特定的节点可以由 TreePath(封装节点及其所有祖先的对象)标识, 或由其显示行(其中显示区域中的每一行都显示一个节点)标识。 展开 节点是一个非叶节点(由返回 false 的 TreeModel.isLeaf(node) 标识), 当展开 其所有祖先时,该节点将显示其子节点。 折叠 节点是隐藏它们的节点。 隐藏 节点是位于折叠祖先下面的节点。 所有可查看 节点的父节点都是可以展开的,但是可以显示它们,也可以不显示它们。 显示 节点是可查看的并且位于可以看到它的显示区域。
请实现 TreeSelectionListener 接口,并使用方法 addTreeSelectionListener 添加实例。当选择更改时,将调用 valueChanged,即如果用户在同一节点上单击两次,则仅调用 valueChanged 一次。
我们常常使用Object[],作为参数传入。为每一个类创建一个TreeNode,但是往往来说,我们知道的是rootNode,我们希望做的是.add()
private void leftIniti() { Border border1=BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"源文件"); left.setBorder(border1); treeRoot =new DefaultMutableTreeNode(this.getClass().getName()); final JTree tree = new JTree(treeRoot);// to do create jtree addLisence(tree); JScrollPane jsp = new JScrollPane(tree);//add scroll left.setLayout(new BorderLayout()); left.add(jsp,BorderLayout.CENTER); }new Filter
public class MyFilter implements FileFilter { private String suffix; public MyFilter() { super(); // TODO Auto-generated constructor stub } public MyFilter(String suffix) { super(); this.suffix = suffix; } @Override public boolean accept(File pathname) { // 目录或者后缀相同 且 不是隐藏文件 return (pathname.isDirectory()||pathname.getName().endsWith(suffix))&&(!pathname.isHidden()); } }