?? treecontextmenulistener.java
字號:
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 + -