2012-01-20 9 views
0

テキストボックスやメニューなどのメインパネル以外のコンポーネントを扱うことができるキーリスナーの例はすべてあります。 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"); 
} 

答えて

5

焦点の行動の独立をトリガーするキーイベントを使用する正しい方法は何ですか?

参照してください:How to Use Key Bindings

またはメニューとメニュー項目でのJMenuBarを使用しています。

0

フォーカスが重要です。クリックして実験し、component.requestFocusInWindow()を使用して手助けする必要があります。

関連する問題