1

そのため、プログラム内のすべてのクラスに適用できるキーリスナーをプログラム内に作成したいと思います (クラスをオブジェクトとして作成するときのように)。

キー(または他の)リスナーでそれを行う方法がわかりません。

通常は次のようになります: クラス blabla は JPanel {blablabla;} を拡張しますが、そのようには機能しません。

行く方法は何ですか?

4

2 に答える 2

3

インターフェイスEventHandlerを実装するクラスを作成することを検討してください。KeyListenerこのクラスをインスタンス化し、addKeyListener()メソッドに渡します。

class EventHandler implements KeyListener{
    @Override
    public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub

    }
}   

/**
* Usage
*/
EventHandler eh = new EventHandler();
nameOfComponent.addKeyListener(eh);  
于 2012-08-26T17:32:25.327 に答える
0

KeyListenerはインターフェースであるため、extendsではなくキーワードimplementsを使用する必要があります。

于 2012-08-26T17:33:28.403 に答える