У меня есть действия, связанные с кнопками, а также с горячими клавишами. Я хочу анимировать (анимацию, похожую на ту, что показана во время щелчка мыши), когда ее соответствующее действие запускается через горячие клавиши. Это возможно?Кнопка анимации, когда соответствующее действие выполнено через горячую клавишу
Я делаю следующим образом:
btnAdd.setAction(addDataAction);
panelAdd.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
.put(KeyStroke.getKeyStroke("ctrl ENTER"), addDataAction);
panelAdd.getActionMap().put(addDataAction, addDataAction);
Вы также можете установить нажатое состояние, если вы переопределите метод 'processKeyBinding' панели и проверьте правильность нажатия клавиши для действия, тогда, по крайней мере, ваше действие не обязательно должно знать о кнопке. – ughzan
Он работает! но это отличается от фактического. Если щелкнуть мышью, кнопка получит синий фон, чего здесь не происходит. В любом случае Хороший ответ! Благодарю. – Ahamed
Чтобы получить «синий» фон, сделайте 'setArmed (true)' then' setPressed (true) ', а затем в событии таймера' setArmed (false) 'then' setPressed (false) '. Порядок важнее, иначе ваше действие будет вызвано снова. – ughzan