Существует невидимый компонент, который перекрывает весь графический интерфейс, «стеклянную панель». Вы можете присоединить своих слушателей к этому. Пример:
JFrame frame = new JFrame();
Component glassPane = frame.getGlassPane();
glassPane.addMouseListener(myListener);
Если вы хотите, чтобы ваши перехваченные события проходили через нижележащие компоненты, вы можете повторно их отправить. Например:
public void mouseMoved(MouseEvent e) {
redispatchMouseEvent(e, false);
}