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

📄 partstree.java

📁 learning java的源代码。书中每个实例都有相关的代码example。
💻 JAVA
字号:
//file: PartsTree.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.tree.*;public class PartsTree {  public static void main(String[] args) {    // create a hierarchy of nodes    MutableTreeNode root = new DefaultMutableTreeNode("Parts");    MutableTreeNode beams = new DefaultMutableTreeNode("Beams");    MutableTreeNode gears = new DefaultMutableTreeNode("Gears");    root.insert(beams, 0);    root.insert(gears, 1);    beams.insert(new DefaultMutableTreeNode("1x4 black"), 0);    beams.insert(new DefaultMutableTreeNode("1x6 black"), 1);    beams.insert(new DefaultMutableTreeNode("1x8 black"), 2);    beams.insert(new DefaultMutableTreeNode("1x12 black"), 3);    gears.insert(new DefaultMutableTreeNode("8t"), 0);    gears.insert(new DefaultMutableTreeNode("24t"), 1);    gears.insert(new DefaultMutableTreeNode("40t"), 2);    gears.insert(new DefaultMutableTreeNode("worm"), 3);    gears.insert(new DefaultMutableTreeNode("crown"), 4);    // create a JFrame to hold the tree    JFrame f = new JFrame("PartsTree v1.0");    f.addWindowListener(new WindowAdapter(  ) {      public void windowClosing(WindowEvent e) { System.exit(0); }    });    f.setSize(200, 200);    f.setLocation(200, 200);    // create the JTree    final DefaultTreeModel model = new DefaultTreeModel(root);    final JTree tree = new JTree(model);    // create a text field and button to modify the data model    final JTextField nameField = new JTextField("16t");    final JButton button = new JButton("Add a part");    button.setEnabled(false);    button.addActionListener(new ActionListener(  ) {      public void actionPerformed(ActionEvent e) {        TreePath tp = tree.getSelectionPath(  );        MutableTreeNode insertNode =            (MutableTreeNode)tp.getLastPathComponent(  );        int insertIndex = 0;        if (insertNode.getParent(  ) != null) {          MutableTreeNode parent =              (MutableTreeNode)insertNode.getParent(  );          insertIndex = parent.getIndex(insertNode) + 1;          insertNode = parent;        }        MutableTreeNode node =            new DefaultMutableTreeNode(nameField.getText(  ));        model.insertNodeInto(node, insertNode, insertIndex);      }    });    JPanel addPanel = new JPanel(new GridLayout(2, 1));    addPanel.add(nameField);    addPanel.add(button);    // listen for selections    tree.addTreeSelectionListener(new TreeSelectionListener(  ) {      public void valueChanged(TreeSelectionEvent e) {        TreePath tp = e.getNewLeadSelectionPath(  );        button.setEnabled(tp != null);      }    });    // put it all together    f.getContentPane(  ).add(new JScrollPane(tree));    f.getContentPane(  ).add(addPanel, BorderLayout.SOUTH);    f.setVisible(true);  }}

⌨️ 快捷键说明

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