📄 demochangetree.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package swing;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTree;import javax.swing.event.TreeModelEvent;import javax.swing.event.TreeModelListener;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.DefaultTreeModel;import javax.swing.tree.TreePath;/** * * @author zhaolin */public class DemoChangeTree extends JFrame{ private JButton btInsert,btDelete,btClear; private JTree tree; public static int newNodeIndex; public DemoChangeTree(){ btInsert = new JButton("添加"); btInsert.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("New Node "+newNodeIndex++); newNode.setAllowsChildren(true); TreePath path = tree.getSelectionPath(); DefaultMutableTreeNode parent = null; if(path == null){ parent = (DefaultMutableTreeNode) tree.getModel().getRoot(); }else{ parent = (DefaultMutableTreeNode) path.getLastPathComponent(); } DefaultTreeModel model = (DefaultTreeModel) tree.getModel(); model.insertNodeInto(newNode, parent, parent.getChildCount()); tree.scrollPathToVisible(new TreePath(newNode.getPath())); } }); btDelete = new JButton("删除"); btClear = new JButton("清除"); initTree(); this.getContentPane().add(new JScrollPane(tree)); JPanel panel = new JPanel(); panel.add(btInsert); panel.add(btDelete); panel.add(btClear); panel.setLayout(new GridLayout(3,0)); this.getContentPane().add(panel,"East"); this.pack(); this.setVisible(true); } private void initTree() { DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root Node"); DefaultTreeModel model = new DefaultTreeModel(root); tree = new JTree(model); tree.setEditable(true); model.addTreeModelListener(new TreeModelListener(){ public void treeNodesChanged(TreeModelEvent e) { } public void treeNodesInserted(TreeModelEvent e) { } public void treeNodesRemoved(TreeModelEvent e) { } public void treeStructureChanged(TreeModelEvent e) { } }); } public static void main(String[] args) { new DemoChangeTree(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -