java中的keylistener无法正常工作

时间:2012-07-06 23:13:58

标签: java

我希望我的java程序默认在后台运行,但是使用keylistener来调用我的changewallpaper类。 changewallpaper类可以正常工作,但是keylistener不会调用该方法。关键事件将在稍后更改,目前仅用于测试。

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();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

KeyListener不会不加区别地监听所有键盘事件 - 它只侦听特定Component上的事件,当该Component具有键盘焦点时。您必须使用addKeyListener方法或类似方法将侦听器附加到某个位置。

请参阅Java How to Write a Key Listener教程