code: private static void installAccelerator(Action action, final JButton button) {
  		if (action.getValue(Action.ACCELERATOR_KEY) instanceof KeyStroke) {
  			KeyStroke keyStroke = (KeyStroke)action.getValue(Action.ACCELERATOR_KEY);
  			InputMap windowInputMap = SwingUtilities.getUIInputMap(button, JComponent.WHEN_IN_FOCUSED_WINDOW);
  			if (windowInputMap == null) {
  				windowInputMap = new ComponentInputMapUIResource(button);
  				SwingUtilities.replaceUIInputMap(button, JComponent.WHEN_IN_FOCUSED_WINDOW, windowInputMap);
  			}
  			windowInputMap.put(keyStroke, keyStroke.toString());
  			button.getActionMap().put(keyStroke.toString(), action);
  		}
  	}
docs: TODO accelerators for buttons