问题
What is the difference between these two methods:
getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(
"pressed F10"), "someAction");
getActionMap().put("someAction", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
//Do something
}
});
and:
registerKeyboardAction(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//Do something
}
}, KeyStroke.getKeyStroke("pressed F10"), JComponent.WHEN_FOCUSED);
回答1:
There is no difference, but registerKeyboardAction is obsolete as stated in the javadoc.
来源:https://stackoverflow.com/questions/18673699/what-is-the-difference-between-registerkeyboardaction-and-getinputmap-put