当前位置:编程学习 > JAVA >>

Java JTree_5

\


package com.han; 
 
import java.awt.BorderLayout; 
import java.awt.Container; 
import java.awt.GridLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.util.Enumeration; 
 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 
import javax.swing.JTree; 
import javax.swing.tree.DefaultMutableTreeNode; 
import javax.swing.tree.DefaultTreeModel; 
import javax.swing.tree.TreePath; 
 
public class JTree_5 extends JFrame { 
 
    /**
     * 
     */ 
    private static final long serialVersionUID = -7187852901157241733L; 
 
    public JTree_5() { 
        // TODO Auto-generated constructor stub  
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("倾城爱家"); 
        DefaultMutableTreeNode nodeA = new DefaultMutableTreeNode("经理办公室"); 
        DefaultMutableTreeNode nodeB = new DefaultMutableTreeNode("人事部"); 
        DefaultMutableTreeNode nodeC = new DefaultMutableTreeNode("技术部"); 
        DefaultMutableTreeNode nodeD = new DefaultMutableTreeNode("服务部"); 
        DefaultMutableTreeNode nodeE = new DefaultMutableTreeNode("推广部"); 
         
        DefaultMutableTreeNode nodeCA = new DefaultMutableTreeNode("网络维护部"); 
        DefaultMutableTreeNode nodeCB = new DefaultMutableTreeNode("应用开发部"); 
         
        DefaultMutableTreeNode nodeDA = new DefaultMutableTreeNode("网络服务部"); 
        DefaultMutableTreeNode nodeDB = new DefaultMutableTreeNode("内勤开发部"); 
         
        root.add(nodeA); 
        root.add(nodeB); 
        root.add(nodeC); 
        root.add(nodeD); 
        root.add(nodeE); 
        nodeC.add(nodeCA); 
        nodeC.add(nodeCB); 
        nodeD.add(nodeDA); 
        nodeD.add(nodeDB); 
         
        final DefaultTreeModel treeModel = new DefaultTreeModel(root, true); 
        final JTree tree =new JTree(treeModel); 
         
        Container container = getContentPane(); 
        container.add(tree, BorderLayout.CENTER); 
         
        @SuppressWarnings("rawtypes") 
        Enumeration enumeration = root.preorderEnumeration(); 
        while (enumeration.hasMoreElements()) { 
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) enumeration.nextElement(); 
            tree.expandPath(new TreePath(node.getPath())); 
        } 
         
        JPanel panel = new JPanel(new GridLayout(1, 5, 10, 10)); 
        container.add(panel, BorderLayout.SOUTH); 
        JLabel label = new JLabel("名称:"); 
        final JTextField textField = new JTextField("测试"); 
        JButton button1 = new JButton("添加"); 
        JButton button2 = new JButton("修改"); 
        JButton button3 = new JButton("删除"); 
        panel.add(label); 
        panel.add(textField); 
        panel.add(button1); 
        panel.add(button2); 
        panel.add(button3); 
         
        // add  
        button1.addActionListener(new ActionListener(){ 
 
            @Override 
            public void actionPerformed(ActionEvent e) { 
                // TODO Auto-generated method stub  
                DefaultMutableTreeNode node = new DefaultMutableTreeNode(textField.getText()); 
                TreePath path = tree.getSelectionPath(); 
                DefaultMutableTreeNode parent = (DefaultMutableTreeNode) path.getLastPathComponent(); 
                treeModel.insertNodeInto(node, parent, parent.getChildCount()); 
                TreePath newNodePath = path.pathByAddingChild(node); 
                if (!tree.isVisible(newNodePath)) { 
                    tree.makeVisible(newNodePath); 
                } 
                tree.setSelectionPath(newNodePath); 
            } 
          

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,