package husacct.define.presentation.moduletree; import husacct.define.presentation.jpanel.ModuleJPanel; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; public class ModuletreeContextMenu extends JPopupMenu { private static final long serialVersionUID = 1L; private JMenuItem newModule, removeModule, moveUp, moveDown; private JPanel parentPanel; private AbstractAction createNewModuleAction = new AbstractAction() { private static final long serialVersionUID = 648949586322816554L; @Override public void actionPerformed(ActionEvent arg0) { if (parentPanel instanceof ModuleJPanel) { ((ModuleJPanel) parentPanel).newModule(); } } }; private AbstractAction moveDownAction = new AbstractAction() { private static final long serialVersionUID = -1396467062324885098L; @Override public void actionPerformed(ActionEvent a) { if (parentPanel instanceof ModuleJPanel) { ((ModuleJPanel) parentPanel).moveLayerDown(); } } }; private AbstractAction moveUpAction = new AbstractAction() { private static final long serialVersionUID = 5859872060456988463L; @Override public void actionPerformed(ActionEvent a) { if (parentPanel instanceof ModuleJPanel) { ((ModuleJPanel) parentPanel).moveLayerUp(); } } }; private AbstractAction removeModuleAction = new AbstractAction() { private static final long serialVersionUID = 3393078113848071817L; @Override public void actionPerformed(ActionEvent a) { if (parentPanel instanceof ModuleJPanel) { ((ModuleJPanel) parentPanel).removeModule(); } } }; public ModuletreeContextMenu(JPanel parentPanel) { this.parentPanel = parentPanel; newModule = new JMenuItem("new module"); removeModule = new JMenuItem("remove module"); moveUp = new JMenuItem("level up"); moveUp.addActionListener(moveUpAction); moveDown = new JMenuItem("level down"); moveDown.addActionListener(moveDownAction); newModule.addActionListener(createNewModuleAction); removeModule.addActionListener(removeModuleAction); } public void isComponent() { this.add(newModule); this.add(removeModule); } public void isLayer() { isComponent(); this.add(moveUp); this.add(moveDown); } }