我能够找到的关键侦听器的所有示例都处理主面板以外的组件,例如文本框或菜单。
我知道如何使用setMnemonic来编程Menu热键,但是这个方法似乎不可用,并且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");
}
答案 0 :(得分:5)
答案 1 :(得分:0)
重点是重要的。您可能需要单击并进行实验,并使用component.requestFocusInWindow()来帮助。