设定窗口的默认按钮按键:ESC和ENTER等按键

在Google上查到的代码见下面的链接
http://www.java2s.com/Code/Java/Swing-JFC/DefaultbuttonfordialogpressEntertoactivate.htm
可惜只有设定Enter的代码。

其实使用其他的方法同样可以实现此功能,并可以指定任意的快捷键。

    /**
     * 设置窗口的ESC键对应按钮--必须放在jbutton已经add了actionListener后
     *
     * @param pane
     * @param jb
     */
    public static void setEsc(RootPaneContainer jc, JButton jb) {
        if (jb.getActionListeners().length == 0) {
            System.out.println("ERR:COMMONUIUTIL_SETESC_JBUTTONHASNOACTIONLISTENERS");
            return;
        }
        jc.getRootPane().registerKeyboardAction(jb.getActionListeners()[0], "command",
                KeyStroke.getKeyStroke( KeyEvent.VK_ESCAPE, 0),
                JComponent.WHEN_IN_FOCUSED_WINDOW);
    }

你可能感兴趣的:(swing,Google)