2014-01-26 28 views
0

有没有办法改变setDefaultButton()的默认激活事件键?默认密钥是ENTERJava:如何更改setDefaultButton()的激活事件键?

这是场景:在登录窗口中,有两个(2)按钮,一个用于登录,另一个用于退出。设置登录按钮setDefaultButton()是一个好主意,但我想有另一个激活事件键是ESCAPE用退出按钮作出响应。

谢谢!

+1

您可以使用按键绑定 – lakshman

+1

看一看[**如何使用按键绑定**](http://docs.oracle.com/javase/tutorial /uiswing/misc/keybinding.html) –

+0

这听起来像一个JOptionPane可能是一个很好的选择,因为它创建对Enter和Esc绑定的对话框。 – VGR

回答

0

这是你应该做的

InputMap inputMap = panel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); 
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "exitAction"); 
panel.getActionMap().put("exitAction", exitAction); 

Action exitAction = new AbstractAction() { 
     public void actionPerformed(ActionEvent e) { 
      //what ever happen on exit goes here 
     } 
    }; 
+0

+1为此答案! 这正是我想要的。谢谢! –