我能够找到的所有关键侦听器示例都处理主面板以外的组件,例如文本框或菜单。我知道如何使用 setMnemonic 对菜单热键进行编程,但这种方法似乎不可用,并且到 oracle keylistener 教程的链接已损坏。当我在主窗体上执行右键单击 > 事件 > 键 > 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");
}