Я хотел бы проверить, нажата ли определенная javax.swing.JButton
(обычная кнопка) (до ее отпускания).Можно ли вообще проверить, нажата ли кнопка?
Самое простое решение - добавить MouseListener
, который будет реагировать на щелчок мыши и отпускать события.Но это не распространяется на случай, когда кнопка была активирована клавишей Enter или любым другим способом.Я не хочу отключать активацию мыши с помощью клавиатуры или другими способами - я просто хочу знать, когда она нажата, не ограничивая ее поведение.
Я пытался прослушать все различные события, и толькона нажатие кнопки реагируют события ActionPreformed (ActionEvent
) и StateChanged (ChangedEvent
).ActionPreformed выполняется один раз за клик, то есть только после нажатия и отпускания кнопки, так что это не хорошо.StateChanged действительно вызывается несколько раз, когда я нажимаю кнопку, и несколько раз, когда я отпускаю ее.Но объект события включает только информацию об исходном виджете (кнопка) и никакой информации о самом изменении состояния.Это предотвращает выделение того, какое из событий мы хотим поймать.
Заранее спасибо!