Java Swing Key Action setDefaultOkCancelKeyStrokes(final JRootPane rootPane, final Action okAction, final Action cancelAction)

Here you can find the source of setDefaultOkCancelKeyStrokes(final JRootPane rootPane, final Action okAction, final Action cancelAction)

Description

set Default Ok Cancel Key Strokes

License

Open Source License

Declaration

public static void setDefaultOkCancelKeyStrokes(final JRootPane rootPane, final Action okAction,
            final Action cancelAction) 

Method Source Code


//package com.java2s;
/*//  ww  w. jav a2s. c  om
 * Copyright (c) 2015 Memorial Sloan-Kettering Cancer Center
 * *
 * * Code written by: Christian Lopes
 * * Authors: Gary Bader, Elena Potylitsine, Chris Sander, Weston Whitaker
 * *
 * * This library is free software; you can redistribute it and/or modify it
 * * under the terms of the GNU Lesser General Public License as published
 * * by the Free Software Foundation; either version 2.1 of the License, or
 * * any later version.
 * *
 * * This library 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.  The software and
 * * documentation provided hereunder is on an "as is" basis, and
 * * Memorial Sloan-Kettering Cancer Center
 * * has no obligations to provide maintenance, support,
 * * updates, enhancements or modifications.  In no type shall the
 * * Memorial Sloan-Kettering Cancer Center
 * * be liable to any party for direct, indirect, special,
 * * incidental or consequential damages, including lost profits, arising
 * * out of the use of this software and its documentation, even if
 * * Memorial Sloan-Kettering Cancer Center
 * * has been advised of the possibility of such damage.  See
 * * the GNU Lesser General Public License for more details.
 * *
 * * You should have received a copy of the GNU Lesser General Public License
 * * along with this library; if not, write to the Free Software Foundation,
 * * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
 */

import java.awt.event.KeyEvent;
import javax.swing.Action;

import javax.swing.InputMap;

import javax.swing.JComponent;

import javax.swing.JRootPane;
import javax.swing.KeyStroke;

public class Main {
    public static void setDefaultOkCancelKeyStrokes(final JRootPane rootPane, final Action okAction,
            final Action cancelAction) {
        final InputMap inputMap = rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);

        if (okAction != null) {
            final String OK_ACTION_KEY = "OK_ACTION_KEY";
            final KeyStroke enterKey = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false);
            inputMap.put(enterKey, OK_ACTION_KEY);
            rootPane.getActionMap().put(OK_ACTION_KEY, okAction);
        }

        if (cancelAction != null) {
            final String CANCEL_ACTION_KEY = "CANCEL_ACTION_KEY";
            final KeyStroke escapeKey = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
            inputMap.put(escapeKey, CANCEL_ACTION_KEY);
            rootPane.getActionMap().put(CANCEL_ACTION_KEY, cancelAction);
        }
    }
}

Related

  1. registerWindowCloseKeys(JRootPane root, Action closeAction)
  2. removeTabbedPaneFocusTraversalKeyBindings( JComponent c)
  3. replaceAction(InputMap map, char c)
  4. sendKeys(JComponent component, int modifiers, int key)
  5. setActionID(final Action a, final String id)
  6. setEscapeKeyboardAction(final Window window, JComponent pane)
  7. setKeyEvent(JComponent widget, int keyEvent, Runnable action)
  8. setMnemonic(Action action)
  9. setTabFocusTraversalKeys(final JComponent component)