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 ,