我认为这是问题所在:
button[0].getInputMap().put(...);
从JComponent.getInputMap()
javadoc:
返回
InputMap组件具有焦点时使用的。这是的便捷方法getInputMap(WHEN_FOCUSED)。
因此,按钮必须具有焦点才能正常工作。由于您正在使用计算器,因此建议您改用以下方法:
button[0].getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(...);
JComponent.getInputMap(int
condition):返回条件期间使用的InputMap。
参数:
condition-一WHEN_IN_FOCUSED_WINDOW,WHEN_FOCUSED,WHEN_ANCESTOR_OF_FOCUSED_COMPONENT



