2012-01-20 4 views
0

Все примеры для прослушивателей ключевых слов Я смог найти дело с компонентами, отличными от основной панели, например текстовым полем или меню. Я знаю, как использовать setMnemonic для программирования горячих клавиш меню, но этот метод, похоже, не доступен, и 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"); 
} 

ответ

5

Что такое правильный способ использовать ключевые события, чтобы вызвать действие независимо от фокуса?

См: How to Use Key Bindings

Или используйте JMenuBar с меню и пунктов меню.

0

акцент важен. вам может потребоваться щелкнуть и поэкспериментировать, а также использовать функцию component.requestFocusInWindow().

Смежные вопросы