Java JButton Escape addEscListener(JComponent c, final JButton b)

Here you can find the source of addEscListener(JComponent c, final JButton b)

Description

This method implements hotkey binding for [Esc] for currently focused JComponent with a "Cancel" Button.

License

Open Source License

Parameter

Parameter Description
b the cancel button(or exit or Back)
c the focused Jcomponent

Declaration

public static void addEscListener(JComponent c, final JButton b) 

Method Source Code


//package com.java2s;
/*/*www .j  av a  2s .  c om*/
 * Unitex
 *
 * Copyright (C) 2001-2016 Universit? Paris-Est Marne-la-Vall?e <unitex@univ-mlv.fr>
 *
 * 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 (at your option) 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.  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.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.KeyStroke;

public class Main {
    /**
     * This method implements hotkey  binding for [Esc] for currently focused JComponent with a "Cancel" Button.
     * Pressing Esc, would mimic as clicking on cancel button.
     * 
     * @param b
     *       the cancel button(or exit or Back)
     * @param c
     *       the focused Jcomponent
     * 
     */
    public static void addEscListener(JComponent c, final JButton b) {
        c.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "closeTheDialog");
        c.getActionMap().put("closeTheDialog", new AbstractAction() {

            private static final long serialVersionUID = 1L;

            @Override
            public void actionPerformed(ActionEvent cancel) {
                b.doClick();
            }
        });
    }
}

Related

  1. addEscListener(JComponent c, final JButton b)
  2. fillRow(int row, String labelDesc, JComponent[] boxes, JButton button, Container panel)