Java JTree_5 (一)

2014-11-24 08:10:05 · 作者: · 浏览: 4
\


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 = (Defa