2014-01-26 35 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爲此答案! 這正是我想要的。謝謝! –