В Java (Swing) элемент реагирует на нажатия, хотя при этом задан как setEnabled(false). Что делать?



Собственно, весь вопрос в заголовке и видео…
Кнопка, которая, на момент загрузки и предобработки должна быть неактивна, продолжает реагировать на нажатия мыши, хотя ей явно сказано: button.setEnabled(false); Кнопка срабатывает по клику мыши, но абсолютно то же самое происходит и при onMousePressed.
Начинает плодиться много лишних потоков, «жрется» ненормальное количество памяти и прочие очевидные неудобства…
Как этого избежать?
  • Вопрос задан
  • 2825 просмотров
Решения вопроса 1
@kindcoder
Note: Disabling a lightweight component does not prevent it from receiving MouseEvents.
JavaDoc

Поэтому ertaquo прав — надо проверять активность в обработчике.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
taliban
@taliban
php программист
Какой эпический конец в видео =)
Ответ написан
Комментировать
ertaquo
@ertaquo
Может дополнительно проверять активность кнопки в обработчике нажатия?
Ответ написан
Комментировать
PoN
@PoN
Game Developer, Full-stack developer.
А слушатель(listener) правильно определен? и какое событие вы «слушаете»?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽