Java Swing KeyStroke bindAction(JComponent aComponent, String aCommand, Action anAction, KeyStroke aKeyStroke)

Here you can find the source of bindAction(JComponent aComponent, String aCommand, Action anAction, KeyStroke aKeyStroke)

Description

bind Action

License

Open Source License

Declaration

public static void bindAction(JComponent aComponent, String aCommand, Action anAction, KeyStroke aKeyStroke) 

Method Source Code

//package com.java2s;
/*/*from  w ww .  ja va2s . c  om*/
 * @formatter:off
 * Li Song Mechlab - A 'mech building tool for PGI's MechWarrior: Online.
 * Copyright (C) 2013  Emily Bj?rk
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import javax.swing.Action;
import javax.swing.JComponent;

import javax.swing.KeyStroke;

public class Main {
    public static void bindAction(JComponent aComponent, String aCommand, Action anAction) {
        Object o = anAction.getValue(Action.ACCELERATOR_KEY);
        if (o instanceof KeyStroke)
            bindAction(aComponent, aCommand, anAction, (KeyStroke) o);
        else
            throw new IllegalArgumentException("Can not bind action, it has no keystroke assigned.");
    }

    public static void bindAction(JComponent aComponent, String aCommand, Action anAction, KeyStroke aKeyStroke) {
        aComponent.getInputMap(JComponent.WHEN_FOCUSED).put(aKeyStroke, aCommand);
        aComponent.getActionMap().put(aCommand, anAction);
    }
}

Related

  1. addKeyboardShortcut(final JComponent target, final AbstractButton button, final KeyStroke keyStroke)
  2. addShortcut(JRootPane rootPane, String command, Action action, KeyStroke stroke)
  3. addShortcutAction(String name, JComponent component, KeyStroke key, Action action)
  4. addShortcutToComponent(final JComponent component, final KeyStroke keystroke, final String actionCommand, final Action action)
  5. addShortcutToComponent(JComponent component, KeyStroke keystroke, String actionCommand, Action action)
  6. bindKeyToAction(int keyCode, int modifiers, Action action, JComponent component, int condition)
  7. bindKeyToAction(JComponent c, KeyStroke key, Action a)
  8. clearActionBinding(final JComponent component, final KeyStroke keyStroke, final int condition)
  9. clearKeyStroke(JComponent component)