void (@NotNull MouseEvent event) { Component component = reference.get(); if (component == null) return; // component is already collected int x = point.x; int y = point.y; point.setLocation(event.getXOnScreen(), event.getYOnScreen()); SwingUtilities.convertPointFromScreen(point, component); if (point.x == x && point.y == y) return; // mouse location is not changed if (LOG.isTraceEnabled()) LOG.trace("mouse moved in " + component); notifySafely(component, listener -> listener.mouseMoved(component, point.x, point.y)); }