`

FrameTreeDemo2

 
阅读更多
    private void expandAll(JTree tree, TreePath parent, boolean expand)
    {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode)parent.getLastPathComponent();
        if (node.getLevel() <= 1)// 代表着什么 ?
        {
            if (node.getChildCount() >= 0)
            {
                for (Enumeration e = node.children(); e.hasMoreElements();)
                {
                    TreeNode n = (TreeNode)e.nextElement();
                    TreePath path = parent.pathByAddingChild(n);
                    expandAll(tree, path, expand);
                }
            }
        }
        if (expand)
        {
            tree.expandPath(parent);
        }
        else
        {
            tree.collapsePath(parent);
        }
    }
    
    public static void main(String[] args)
    {
        JFrame jf = new JFrame("jtree demo");
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.getContentPane().add(new FrameTreeDemo(), BorderLayout.CENTER);
        jf.setSize(300, 600);
        jf.setVisible(true);
    }
    
    class AddNode
    {
        DefaultMutableTreeNode r;
        
        // DefaultMutableTreeNode是树的数据机构中的通用节点,节点也可以有多个子节点。
        public AddNode(String[] data)
        {
            r = new DefaultMutableTreeNode(data[0]);
            for (int i = 1; i < data.length; i++)
            {
                r.add(new DefaultMutableTreeNode(data[i]));
            }// 添加多个节点
            
        }
        
        public DefaultMutableTreeNode node()
        {
            return r;
        }
    }
}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics