📄 treeselectiondemo.java
字号:
import javax.swing.*;import javax.swing.tree.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;public class TreeSelectionDemo extends JFrame implements TreeSelectionListener{ private JTree tree; private JTextField jtf; public TreeSelectionDemo() {/* A Collection of DefaultMutableTreeNode objects are created that *//* will form the components of a tree. */ DefaultMutableTreeNode league = new DefaultMutableTreeNode("Soccer League"); DefaultMutableTreeNode north = new DefaultMutableTreeNode("North Division"); DefaultMutableTreeNode south = new DefaultMutableTreeNode("South Divison"); DefaultMutableTreeNode jets = new DefaultMutableTreeNode("Jets"); DefaultMutableTreeNode raiders = new DefaultMutableTreeNode("Raiders"); DefaultMutableTreeNode fins = new DefaultMutableTreeNode("Fins"); DefaultMutableTreeNode shooters = new DefaultMutableTreeNode("Shooters"); DefaultMutableTreeNode lions = new DefaultMutableTreeNode("Lions"); DefaultMutableTreeNode tigers = new DefaultMutableTreeNode("Tigers");/* The node hierarchy is loaded into a DefaultTreeModel object. */ DefaultTreeModel dtm = new DefaultTreeModel(league); dtm.insertNodeInto(north, league, 0); dtm.insertNodeInto(south, league, 1); dtm.insertNodeInto(jets, north, 0); dtm.insertNodeInto(raiders, north, 1); dtm.insertNodeInto(fins, north, 2); dtm.insertNodeInto(shooters, south, 0); dtm.insertNodeInto(lions, south, 1); dtm.insertNodeInto(tigers, south, 2);/* A JTree object is created using the previously created tree model. *//* The JTree registers a TreeSelectionListener. */ tree = new JTree(dtm); tree.setShowsRootHandles(true); tree.expandRow(1); tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION); tree.addTreeSelectionListener(this); jtf = new JTextField(20); jtf.setEditable(false); getContentPane().add( new JScrollPane(tree), BorderLayout.CENTER ); getContentPane().add( jtf, BorderLayout.SOUTH ); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 300, 300); setVisible(true); }/* The TreeSeletionDemo class serves as the TreeSelectionListener, *//* so it provides an implementation of the valueChanged() method. *//* When the user selects a node, a TreeSelectionEvent is generated *//* and sent to the valueChanged() method. The identity of the *//* currently selected node is printed inside a JTextField. */ public void valueChanged(TreeSelectionEvent event) { TreePath path = event.getPath(); jtf.setText("Current selection is "+path.getLastPathComponent()); } public static void main(String args[]) { TreeSelectionDemo demo = new TreeSelectionDemo(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -