0
有沒有辦法改變setDefaultButton()的默認激活事件鍵?默認密鑰是ENTER。Java:如何更改setDefaultButton()的激活事件鍵?
這是場景:在登錄窗口中,有兩個(2)按鈕,一個用於登錄,另一個用於退出。設置登錄按鈕setDefaultButton()是一個好主意,但我想有另一個激活事件鍵是ESCAPE用退出按鈕作出響應。
謝謝!
有沒有辦法改變setDefaultButton()的默認激活事件鍵?默認密鑰是ENTER。Java:如何更改setDefaultButton()的激活事件鍵?
這是場景:在登錄窗口中,有兩個(2)按鈕,一個用於登錄,另一個用於退出。設置登錄按鈕setDefaultButton()是一個好主意,但我想有另一個激活事件鍵是ESCAPE用退出按鈕作出響應。
謝謝!
這是你應該做的
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
}
};
+1爲此答案! 這正是我想要的。謝謝! –
您可以使用按鍵綁定 – lakshman
看一看[**如何使用按鍵綁定**](http://docs.oracle.com/javase/tutorial /uiswing/misc/keybinding.html) –
這聽起來像一個JOptionPane可能是一個很好的選擇,因爲它創建對Enter和Esc綁定的對話框。 – VGR