そのため、プログラム内のすべてのクラスに適用できるキーリスナーをプログラム内に作成したいと思います (クラスをオブジェクトとして作成するときのように)。
キー(または他の)リスナーでそれを行う方法がわかりません。
通常は次のようになります: クラス blabla は JPanel {blablabla;} を拡張しますが、そのようには機能しません。
行く方法は何ですか?
そのため、プログラム内のすべてのクラスに適用できるキーリスナーをプログラム内に作成したいと思います (クラスをオブジェクトとして作成するときのように)。
キー(または他の)リスナーでそれを行う方法がわかりません。
通常は次のようになります: クラス blabla は JPanel {blablabla;} を拡張しますが、そのようには機能しません。
行く方法は何ですか?
インターフェイス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);
KeyListenerはインターフェースであるため、extendsではなくキーワードimplementsを使用する必要があります。