import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
public class EditJTree
{
JFrame
jf;
JTree
tree;
//上面JTree对象对应的model
DefaultTreeModel model;
//定义几个初始节点
DefaultMutableTreeNode root = new
DefaultMutableTreeNode("中国");
DefaultMutableTreeNode guangdong = new
DefaultMutableTreeNode("广东");
DefaultMutableTreeNode guangxi = new
DefaultMutableTreeNode("广西");
DefaultMutableTreeNode foshan = new
DefaultMutableTreeNode("佛山");
DefaultMutableTreeNode shantou = new
DefaultMutableTreeNode("汕头");
DefaultMutableTreeNode guilin = new
DefaultMutableTreeNode("桂林");
DefaultMutableTreeNode nanning = new
DefaultMutableTreeNode("南宁");
//定义需要被拖动的TreePath
TreePath
movePath;
JButton
addSiblingButton = new
JButton("添加兄弟节点");
JButton
addChildButton = new
JButton("添加子节点");
JButton
deleteButton = new
JButton("删除节点");
JButton
editButton = new
JButton("编辑当前节点");
public void
init()
{
guangdong.add(foshan);
guangdong.add(shantou);
guangxi.add(guilin);
guangxi.add(nanning);
root.add(guangdong);
root.add(guangxi);
jf = new JFrame("树");
tree = new JTree(root);
//获取JTree对应的TreeModel对象
model =
(DefaultTreeModel)tree.getModel();
//设置JTree可编辑
tree.setEditable(true);
MouseListener ml = new
MouseAdapter()