⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeedittest.java~16~

📁 我喜欢java,我现在在武汉最好的软件公司开发大型ERP系统
💻 JAVA~16~
字号:
/** * * <p>Title:TreeEditTest </p> * * <p>Description: 实现对树型结构的添加和删除</p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: Spring </p> * * @author : Spring * @version 1.0 */import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.tree.*;public class TreeEditTest{  public static void main(String[] args){    JFrame frame = new TreeEditFrame();    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    frame.show();  }}class TreeEditFrame extends JFrame{  public TreeEditFrame(){    setTitle("TreeEditTest");    setSize(WIDTH,HEIGHT);    TreeNode root = makeSampleTree();    //创建默认树型样式    model = new DefaultTreeModel(root);    tree = new JTree(model);    tree.setEditable(true);    //创建可滚动面板    JScrollPane scrollPane = new JScrollPane(tree);    getContentPane().add(scrollPane,BorderLayout.CENTER);    makeButtons();  }  /**   * Description : 创建树型结构   * @return TreeNode   */  public TreeNode makeSampleTree(){    //创建根节点    DefaultMutableTreeNode root         = new DefaultMutableTreeNode("world");    DefaultMutableTreeNode country        = new DefaultMutableTreeNode("USA");    root.add(country);    //创建三层子节点    DefaultMutableTreeNode state        = new DefaultMutableTreeNode("California");    country.add(state);    DefaultMutableTreeNode city        = new DefaultMutableTreeNode("San Jose");    state.add(city);    city = new DefaultMutableTreeNode("Cupertino");    state.add(city);    //新增一州    state = new DefaultMutableTreeNode("Michigan");    country.add(state);    city = new DefaultMutableTreeNode("An Arbor");    state.add(city);    //新增一国    country = new DefaultMutableTreeNode("Germany");    root.add(country);    state = new DefaultMutableTreeNode("Schleswig-Holstern");    country.add(state);    city = new DefaultMutableTreeNode("kiel");    state.add(city);    return root;}  public void makeButtons(){    JPanel panel = new JPanel();    JButton addSiblingButton = new JButton("Add Sibling");    addSiblingButton.addActionListener(new ActionListener(){       public void actionPerformed(ActionEvent event){         DefaultMutableTreeNode selectedNode             = (DefaultMutableTreeNode)             tree.getLastSelectedPathComponent();         if(selectedNode == null) return ;         DefaultMutableTreeNode parent             =(DefaultMutableTreeNode)             selectedNode.getParent();         if(parent == null) return ;         DefaultMutableTreeNode newNode             = new DefaultMutableTreeNode("New");         int selectedIndex = parent.getIndex(selectedNode);         model.insertNodeInto(newNode,parent,             selectedIndex + 1);         TreeNode[] nodes = model.getPathToRoot(newNode);         TreePath path = new TreePath(nodes);         tree.scrollPathToVisible(path);       }    });    panel.add(addSiblingButton);    JButton addChildButton = new JButton("Add Child");    addChildButton.addActionListener(new ActionListener(){        public void actionPerformed(ActionEvent event){           DefaultMutableTreeNode selectedNode               = (DefaultMutableTreeNode)               tree.getLastSelectedPathComponent();           if(selectedNode == null) return;           DefaultMutableTreeNode newNode               = new DefaultMutableTreeNode("New");           model.insertNodeInto(newNode,selectedNode,               selectedNode.getChildCount());          TreeNode[] nodes = model.getPathToRoot(newNode);          TreePath path = new TreePath(nodes);          tree.scrollPathToVisible(path);        }    });    panel.add(addChildButton);    JButton deleteButton = new JButton("Delete");    deleteButton.addActionListener(new ActionListener(){        public void actionPerformed(ActionEvent event){          DefaultMutableTreeNode selectedNode              = (DefaultMutableTreeNode)              tree.getLastSelectedPathComponent();          if(selectedNode!=null &&              selectedNode.getParent() !=null)             model.removeNodeFromParent(selectedNode);        }    });    panel.add(deleteButton);    getContentPane().add(panel,BorderLayout.SOUTH);  }  private DefaultTreeModel model;  private JTree tree;  private static final int WIDTH = 400;  private static final int HEIGHT = 200;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -