@Override
	public void actionPerformed(ActionEvent event) {
		JButton button = (JButton) event.getSource();
		Command command = mMap.get(button);
		KeyStrokeDisplay ksd = new KeyStrokeDisplay(command.getAccelerator());
		switch (WindowUtils.showOptionDialog(this, ksd, TYPE_KEYSTROKE, false, JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null, new Object[] { ACCEPT, CLEAR, RESET }, null)) {
			case JOptionPane.CLOSED_OPTION:
			default:
				break;
			case JOptionPane.YES_OPTION: // Accept
				setAccelerator(button, ksd.getKeyStroke());
				break;
			case JOptionPane.NO_OPTION: // Clear
				setAccelerator(button, null);
				break;
			case JOptionPane.CANCEL_OPTION: // Reset
				setAccelerator(button, command.getOriginalAccelerator());
				break;
		}
		mPanel.setSize(mPanel.getPreferredSize());
		adjustResetButton();
	}