我有与按钮以及热键一起的动作。我想要动画(通过鼠标单击时显示的动画类似的动画)按钮时,通过热键触发其各自的动作。那可能吗?通过热键执行相应动作时的动画按钮
我做如下:
btnAdd.setAction(addDataAction);
panelAdd.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
.put(KeyStroke.getKeyStroke("ctrl ENTER"), addDataAction);
panelAdd.getActionMap().put(addDataAction, addDataAction);
如果您覆盖面板的'processKeyBinding'方法并检查正确的按键操作,那么至少您的操作不必知道该按钮,您也可以设置按下的状态。 – ughzan 2012-02-12 18:13:46
它的工作原理!但这与实际情况不同。如果点击鼠标,按钮变为蓝色背景,这不会发生在这里。无论如何,好的答案!谢谢。 – Ahamed 2012-02-12 18:19:07
要获得“蓝色”背景,先执行setArmed(true),然后调用setPressed(true),然后在定时器事件setArmed(false)中调用setPressed(false)。顺序很重要,否则你的行动将被再次调用。 – ughzan 2012-02-12 18:48:12