В программном обеспечении, которое мы пишем, мы иногда используем GlassPane, чтобы пользователь не взаимодействовал с программой, пока он занят, это имеет непреднамеренный побочный эффект, определенных кнопок устанавливается, но не удаляется.Определите из AWTEvent, если это событие Mouse_Exited
Комплект рулона, активированное стекло, стеклопакет потребляет событие mouse_exit.
GlassPane зарегистрирован как:
Toolkit.getDefaultToolkit().addAWTEventListener(this,
AWTEvent.MOUSE_EVENT_MASK | AWTEvent.KEY_EVENT_MASK
| AWTEvent.MOUSE_MOTION_EVENT_MASK
| AWTEvent.MOUSE_WHEEL_EVENT_MASK);
, как мы обнаружили, что нам нужно, чтобы поймать движения мыши и события колеса мыши тоже.
public void eventDispatched(AWTEvent event) {
if (event instanceof KeyEvent) {
((KeyEvent)event).consume();
} else if (event instanceof MouseEvent) {
((MouseEvent) event).consume();
}
}
Есть ли способ узнать в вышеуказанной точке кода, если событие произошло из события Mouse_Exit?
Проверьте 'MouseEvent # getID' и сравните с ним' MouseEvent. MOUSE_EXITED' – MadProgrammer
Спасибо, это именно то, что мне нужно было сделать, и это решило проблему красиво – Saquesh