@Override public void actionPerformed(ActionEvent aevt) { handlePopupMenu(evt); popupTimer = null; } });
/** * MouseListener method for mouseReleased events. If the popup trigger has * been activated, then the appropriate hook method is called. */ @Override public void mouseReleased(MouseEvent evt) { if (popupTimer != null) { popupTimer.stop(); popupTimer = null; } if (isMousePressedPopupTrigger) { isMousePressedPopupTrigger = false; } else { if (evt.isPopupTrigger()) { handlePopupMenu(evt); } else { super.mouseReleased(evt); } } }
/** * MouseListener method for mousePressed events. If the popup trigger has * been activated, then the appropriate hook method is called. */ @Override public void mousePressed(final MouseEvent evt) { if (popupTimer != null) { popupTimer.stop(); popupTimer = null; } // XXX - When we want to support multiple views, we have to // implement this: //setView((DrawingView)e.getSource()); isMousePressedPopupTrigger = evt.isPopupTrigger(); if (isMousePressedPopupTrigger) { getView().requestFocus(); handlePopupMenu(evt); } else { super.mousePressed(evt); popupTimer = new javax.swing.Timer(1000, new ActionListener() { @Override public void actionPerformed(ActionEvent aevt) { handlePopupMenu(evt); popupTimer = null; } }); popupTimer.setRepeats(false); popupTimer.start(); } }