我所能找到的關鍵偵聽器的所有示例都處理除主面板以外的組件,如文本框或菜單。 我知道如何使用setMnemonic來編程菜單熱鍵,但是這種方法似乎並不可用,並且oracle keylistener教程的link已損壞。 當我在主窗體上執行右鍵單擊>事件>密鑰> KeyPressed時,我得到以下密鑰,但沒有任何密鑰導致mainPanelKeyPressed.
使用密鑰事件觸發獨立於焦點的操作的正確方法是什麼?如何捕獲關鍵事件
mainPanel.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
mainPanelKeyPressed(evt);
}
});
private void mainPanelKeyPressed(java.awt.event.KeyEvent evt) {
// Added to help find the ID of each 'arrow' key
JOptionPane.showMessageDialog(null, "mainPanelKeyPressed");
}