我所能找到的关键侦听器的所有示例都处理除主面板以外的组件,如文本框或菜单。 我知道如何使用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");
}