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

📄 treecontextmenulistener.java

📁 自动生成JAVA-Struts网站的程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.sutternow.swingkar.tree;

import org.dom4j.Element;
import org.dom4j.swing.BranchTreeNode;

import javax.swing.*;
import javax.swing.tree.TreePath;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.event.MouseAdapter;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.ActionEvent;

import com.sutternow.swingkar.ReogViewer;
import com.sutternow.swingkar.tree.DisplayNode;

/**
 * Created by IntelliJ IDEA.
 * User: payne
 * Date: Apr 7, 2003
 * Time: 11:35:22 AM
 * To change this template use Options | File Templates.
 */

// @todo Delete constaint & roles clean  if role clean usages from constaints

public class TreeContextMenuListener extends MouseAdapter implements ActionListener {

    public TreeContextMenuListener(ReogViewer rv) {
        this.viewer = rv;
        this.loadGui();
    }

    private void loadGui() {

        dbPopup = new JPopupMenu();
        reverseViaDB = new JMenuItem("Reverse Beans from DB");
        reverseViaDB.addActionListener(this);
        dbPopup.add(reverseViaDB);

        copyExport = new JMenuItem("Copy");
        copyExport.addActionListener(this);
        dbPopup.add(copyExport);

        reloadConfig = new JMenuItem("Reload");
        reloadConfig.addActionListener(this);
        dbPopup.add(reloadConfig);

        globalValDetailPopup = new JPopupMenu();

        globalValEdit = new JMenuItem("Edit Global value");
        globalValEdit.addActionListener(this);
        globalValDetailPopup.add(globalValEdit);

        delGlobalVal = new JMenuItem("Delete Global value");
        delGlobalVal.addActionListener(this);
        globalValDetailPopup.add(delGlobalVal);


        globalValTopPopup = new JPopupMenu();
        addGlobalVal = new JMenuItem("Add Global Value");
        addGlobalVal.addActionListener(this);
        globalValTopPopup.add(addGlobalVal);


        globalRefPopup = new JPopupMenu();
        addGlobalRef = new JMenuItem("Add Global Reference");
        addGlobalRef.addActionListener(this);
        globalRefPopup.add(addGlobalRef);

        securityPopup = new JPopupMenu();
        addRole = new JMenuItem("Add Role");
        addRole.addActionListener(this);
        securityPopup.add(addRole);

        rolePopup = new JPopupMenu();
        delRole = new JMenuItem("Delete Role");
        delRole.addActionListener(this);
        rolePopup.add(delRole);

        delPopup = new JPopupMenu();
        delItem = new JMenuItem("Delete");
        delPopup.add(delItem);
        delItem.addActionListener(this);

        addConstraint = new JMenuItem("Add Constraint");
        addConstraint.addActionListener(this);
        securityPopup.add(addConstraint);

        beanPopup = new JPopupMenu();
        addBean = new JMenuItem("Add Bean");
        addBean.addActionListener(this);
        beanPopup.add(addBean);


        detBeanPopup = new JPopupMenu();
        addColumn = new JMenuItem("Add Column");
        addColumn.addActionListener(this);

        addPK = new JMenuItem("Add Primary Key");
        addPK.addActionListener(this);

        detBeanPopup.add(addColumn);
        addQuery= new JMenuItem("Add Query");
        addQuery.addActionListener(this);
        detBeanPopup.add(addQuery);
        addProcess = new JMenuItem("Add Process");
        addProcess.addActionListener(this);
        detBeanPopup.add(addProcess);

        columnPopup = new JPopupMenu();
        columnPopup.add(addColumn);


        delBean = new JMenuItem("Delete Bean");
        delBean.addActionListener(this);
        detBeanPopup.add(delBean);

        menuPopup = new JPopupMenu();
        addMenu = new JMenuItem("Add Menu");
        menuPopup.add(addMenu);
        addMenu.addActionListener(this);


    }

    public void mousePressed(MouseEvent evt) {
        // handleMouseEvent(evt);
    }

    public void mouseReleased(MouseEvent evt) {
        handleMouseEvent(evt);
    }

    public void handleMouseEvent(MouseEvent e) {
        int x = e.getX();
        int y = e.getY();
        JTree tree = (JTree) e.getSource();

        TreePath path = tree.getPathForLocation(x, y);

        if (path == null)
            return;

        Object obj = path.getLastPathComponent();
        DefaultMutableTreeNode dmt = (DefaultMutableTreeNode) obj;

        if (dmt.getUserObject() instanceof DisplayNode) {
            DisplayNode dn = (DisplayNode) dmt.getUserObject();
            Element elm = dn.getElement();

            if (e.isPopupTrigger() || e.getButton() == MouseEvent.BUTTON3) {

                if (elm.getName().equals("database")) {
                    dbPopup.show(tree, x, y);
                } else if (elm.getName().equals("security")) {
                    securityPopup.show(tree, x, y);
                } else if (elm.getName().equals("security-role")) {
                    rolePopup.show(tree, x, y);
                } else if (elm.getName().equals("Menu")) {
                    menuPopup.show(tree, x, y);
                } else if (elm.getName().equals("bean")) {
                   detBeanPopup.show(tree, x, y);
                } else if (elm.getName().equals("bean")) {
                    delPopup.show(tree, x, y);
                } else if (elm.getName().equals("query") || elm.getName().equals("process")) {
                    delPopup.show(tree, x, y);
                } else if (elm.getName().equals("security-constraint")) {
                    delPopup.show(tree, x, y);
                } else if (elm.getName().equals("attribute") || elm.getName().equals("primary-key") ) {
                   columnPopup.show(tree, x, y);
                } else if (elm.getName().equals("column")) {
                    delPopup.show(tree, x, y);
                } else if (elm.getName().equals("menu")) {
                    delPopup.show(tree, x, y);
                } else if (elm.getName().equals("global-value-ref")) {
                    globalValDetailPopup.show(tree, x, y);
                } else if (elm.getName().equals("global-reference")) {
                    delPopup.show(tree, x, y);
                }
            } else {
                // main click
                if (elm.getName().equals("database")) {
                    viewer.loadEditPane(viewer.DatabaseEditTab, elm);
                } else if (elm.getName().equals("property")) {
                    viewer.loadEditPane(viewer.ProjectPropertiesEditTab, elm);
                } else if (elm.getName().equals("build")) {
                    viewer.loadEditPane(viewer.BuildEditTab, elm);
                } else if (elm.getName().equals("global-value-ref")) {
                    viewer.loadEditPane(viewer.GlobalValueEditTab, elm);
                } else if (elm.getName().equals("global-reference")) {
                    viewer.loadEditPane(viewer.GlobalRefTab, elm);
                } else if (elm.getName().equals("bean")) {
                    viewer.loadEditPane(viewer.BeanEditTab, elm);
                } else if (elm.getName().equals("query")) {
                  viewer.loadEditPane(viewer.QueryEditTab, elm);
                } else if (elm.getName().equals("security-constraint")) {
                    viewer.loadEditPane(viewer.SecurityEditTab, elm);
                } else if (elm.getName().equals("process")) {
                    viewer.loadEditPane(viewer.ProcessEditTab, elm);
                } else if (elm.getName().equals("menu")) {
                    viewer.loadEditPane(viewer.MenuEditTab, elm);
                } else if (elm.getName().equals("column")) {
                    viewer.loadEditPane(viewer.ColumnEditTab, elm);
                }
            }

⌨️ 快捷键说明

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