public class MouseMotionListenerDecorator implements MouseMotionListener { private final MouseMotionListener mouseMotionListener; private boolean activated = true; public MouseMotionListenerDecorator(MouseMotionListener mouseMotionListener) { this.mouseMotionListener = mouseMotionListener; } public boolean isActivated() { return activated; } public void setActivated(boolean activated) { this.activated = activated; } @Override public void mouseDragged(MouseEvent e) { if (!isActivated()) return; mouseMotionListener.mouseDragged(e); } @Override public void mouseMoved(MouseEvent e) { if (!isActivated()) return; mouseMotionListener.mouseMoved(e); } }
// Create the map and add a map overlay // which delegates to the current tool map = new JMap(); map.addMapOverlay(new MapOverlay() { @Override public void onMouseClicked(MouseEvent event) { if (currentTool == null) super.onMouseClicked(event); else currentTool.onMouseClicked(event); } @Override public void onMouseDragged(MouseEvent event) { if (currentTool == null) super.onMouseDragged(event); else currentTool.onMouseDragged(event); } @Override public void onMouseEntered(MouseEvent event) { if (currentTool == null) super.onMouseEntered(event); else currentTool.onMouseEntered(event); } @Override public void onMouseExited(MouseEvent event) { if (currentTool == null) super.onMouseExited(event); else currentTool.onMouseExited(event); } @Override public void onMouseMoved(MouseEvent event) { if (currentTool == null) super.onMouseMoved(event); else currentTool.onMouseMoved(event); } @Override public void onMousePressed(MouseEvent event) { if (currentTool == null) super.onMousePressed(event); else currentTool.onMousePressed(event); } @Override public void onMouseReleased(MouseEvent event) { if (currentTool == null) super.onMouseReleased(event); else currentTool.onMouseReleased(event); } @Override public void onMouseWheelMoved(MouseWheelEvent event) { if (currentTool == null) super.onMouseWheelMoved(event); else currentTool.onMouseWheelMoved(event); } });
Signed in members can post, follow updates, and more. New here? Register a free account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.