void (final MouseEvent e) { super.processMouseEvent(e); switch (e.getID()) { case MouseEvent.MOUSE_PRESSED -> { myLastPoint = e.getPoint(); SwingUtilities.convertPointToScreen(myLastPoint, this); setMotionMask(e.getPoint()); myDragging = true; } case MouseEvent.MOUSE_RELEASED -> { FloatingDecorator.this.validate(); FloatingDecorator.this.repaint(); myDragging = false; } case MouseEvent.MOUSE_ENTERED -> { if (!myDragging) { setMotionMask(e.getPoint()); } } } }