Java Swing KeyStroke bindKeyToAction(JComponent c, KeyStroke key, Action a)

Here you can find the source of bindKeyToAction(JComponent c, KeyStroke key, Action a)

Description

Convenience wrapper for #bindKeyToAction(JComponent,KeyStroke,Action,int) bindKeyToAction(c, key, a, JComponentn.WHEN_FOCUSED) .

License

Open Source License

Declaration

public static void bindKeyToAction(JComponent c, KeyStroke key, Action a) 

Method Source Code


//package com.java2s;
/*//from   w w  w.jav a  2 s . c o m
 * 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.*;

public class Main {
    /**
     * Binds a key stroke to the given action for the component. The action is 
     * triggered when the key is pressed and the keyboard focus is withing the
     * specifiedd scope.
     *  
     * @param c component for which the keybinding is installed
     * @param key the key that triggers the action
     * @param a the action
     */
    public static void bindKeyToAction(JComponent c, KeyStroke key, Action a, int focusScope) {
        InputMap inputMap = c.getInputMap(focusScope);
        ActionMap actionMap = c.getActionMap();
        if (inputMap != null && actionMap != null) {
            inputMap.put(key, a);
            actionMap.put(a, a);
        }
    }

    /**
     * Convenience wrapper for {@link #bindKeyToAction(JComponent, KeyStroke,
     * Action, int) bindKeyToAction(c, key, a, JComponentn.WHEN_FOCUSED)}.
     */
    public static void bindKeyToAction(JComponent c, KeyStroke key, Action a) {
        bindKeyToAction(c, key, a, JComponent.WHEN_FOCUSED);
    }
}

Related

  1. addShortcutAction(String name, JComponent component, KeyStroke key, Action action)
  2. addShortcutToComponent(final JComponent component, final KeyStroke keystroke, final String actionCommand, final Action action)
  3. addShortcutToComponent(JComponent component, KeyStroke keystroke, String actionCommand, Action action)
  4. bindAction(JComponent aComponent, String aCommand, Action anAction, KeyStroke aKeyStroke)
  5. bindKeyToAction(int keyCode, int modifiers, Action action, JComponent component, int condition)
  6. clearActionBinding(final JComponent component, final KeyStroke keyStroke, final int condition)
  7. clearKeyStroke(JComponent component)
  8. closeOnKeyStroke(JRootPane rootPane, KeyStroke keyStroke)
  9. componentListensForKey(JComponent component, int keyCode)