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

📄 nodeselection.java

📁 ACCP 软件工程java 教程学生用书
💻 JAVA
字号:
package nodeselection;


import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTree;
import java.awt.*;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.*;
import javax.swing.tree.*;
import javax.swing.*;

/**
 *
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class NodeSelection extends JFrame {
    /** contentPane*/
    JPanel contentPane;
    /**treDisplay */
    JTree treDisplay = new JTree();
    /**btnDelete */
    JButton btnDelete = new JButton();
    /**btnExit */
    JButton btnExit = new JButton();
    /**sports */
    DefaultMutableTreeNode sports;
    /** food*/
    DefaultMutableTreeNode food;
    /**root */
    DefaultMutableTreeNode root;

    /**
     *
     */
    public NodeSelection() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception  e
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        treDisplay.addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent event) {
                if (((event.getModifiers() & InputEvent.BUTTON2_MASK) != 0)
                    &&
                    (treDisplay.getSelectionCount() > 0)) {
                    showMenu(event.getX(), event.getY());
                }
            }
        });
        setSize(new Dimension(400, 300));
        setTitle("节点选择");
        treDisplay.setFont(new java.awt.Font("", Font.PLAIN, 11));
        treDisplay.setBounds(new Rectangle(41, 7, 213, 208));
        btnDelete.setBounds(new Rectangle(69, 226, 75, 36));
        btnDelete.setFont(new java.awt.Font("", Font.PLAIN, 11));
        btnDelete.setText("删除");
        btnDelete.addActionListener(
            new NodeSelection_btnDisplay_actionAdapter(this));
        btnExit.setBounds(new Rectangle(150, 226, 75, 36));
        btnExit.setFont(new java.awt.Font("", Font.PLAIN, 11));
        btnExit.setText("退出");
        btnExit.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                btnExit_actionPerformed(e);
            }
        });
        contentPane.add(treDisplay, null);
        contentPane.add(btnDelete);
        contentPane.add(btnExit);
    }

    /**
     * showMenu
     * @param x int
     * @param y int
     */
    protected void showMenu(int x, int y) {
        JPopupMenu popup = new JPopupMenu();
        JMenuItem mi = new JMenuItem("删除");
        TreePath path = treDisplay.getSelectionPath();
        Object node = path.getLastPathComponent();
        if (node == treDisplay.getModel().getRoot()) {
            mi.setEnabled(false);
        }
        popup.add(mi);
        contentPane.add(popup);
        popup.show(treDisplay, x, y);
    }

    /**
     *
     * @param e ActionEvent
     */
    public void btnDisplay_actionPerformed(ActionEvent e) {
        DefaultMutableTreeNode node = new DefaultMutableTreeNode();
        DefaultTreeModel model = (DefaultTreeModel) (treDisplay.getModel());
        TreePath[] paths = treDisplay.getSelectionPaths();
        for (int i = 0; i < paths.length; i++) {
            node = (DefaultMutableTreeNode) (paths[i].getLastPathComponent());
            model.removeNodeFromParent(node);
        }
        JOptionPane.showMessageDialog(this, "已成功删除节点", "已删除",
                                      JOptionPane.ERROR_MESSAGE);
    }

    /**
     *
     * @param e ActionEvent
     */
    public void btnExit_actionPerformed(ActionEvent e) {
        System.exit(0);
    }

    /**
     *
     * @param e ActionEvent
     */
    public void btnAdd_actionPerformed(ActionEvent e) {
        String str;
        String message;
        str = JOptionPane.showInputDialog("请输入节点");
        DefaultMutableTreeNode child = new DefaultMutableTreeNode(str);
        //path = jTree1.getSelectionPaths();
        food.add(child);

        treDisplay.updateUI();

    }
}


/**
 *
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
class NodeSelection_btnDisplay_actionAdapter implements ActionListener {
    /**
     * adaptee
     */
    private NodeSelection adaptee;
    /**
     *
     * @param adaptee NodeSelection
     */
    NodeSelection_btnDisplay_actionAdapter(NodeSelection adaptee) {
        this.adaptee = adaptee;
    }

    /**
     *
     * @param e ActionEvent
     */
    public void actionPerformed(ActionEvent e) {

        adaptee.btnDisplay_actionPerformed(e);
    }
}

⌨️ 快捷键说明

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