0

Java プログラムをデフォルトでバックグラウンドで実行したいのですが、keylistener を使用して changewallpaper クラスを呼び出します。changewallpaper クラスは確実に機能しますが、キーリスナーはメソッドを呼び出しません。keyevent は後で変更されますが、現在はテスト用です。

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class listener implements KeyListener {

    public static void main(String[] args){

    }


    @Override
    public void keyReleased(KeyEvent arg0) {
        int key = arg0.getKeyCode();

        if (key == KeyEvent.VK_UP) {
                changewallpaper.main();
        }
    }

    @Override
    public void keyTyped(KeyEvent arg0) {
        int key = arg0.getKeyCode();

        if (key == KeyEvent.VK_UP) {
                changewallpaper.main();
        }
    }


    @Override
    public void keyPressed(KeyEvent arg0) {
        int key = arg0.getKeyCode();

        if (key == KeyEvent.VK_UP) {
                changewallpaper.main();
        }
    }
}
4

1 に答える 1

1

KeyListener は、すべてのキーボード イベントを無差別にリッスンするわけではありません。特定のコンポーネントにキーボード フォーカスがある場合にのみ、そのコンポーネントのイベントをリッスンします。addKeyListenerメソッドなどを使用して、リスナーを何かにアタッチする必要があります。

Javaキー リスナーの作成方法のチュートリアルを参照してください。

于 2012-07-06T23:18:13.710 に答える