我希望我的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();
}
}
}
答案 0 :(得分:1)
KeyListener不会不加区别地监听所有键盘事件 - 它只侦听特定Component上的事件,当该Component具有键盘焦点时。您必须使用addKeyListener方法或类似方法将侦听器附加到某个位置。
请参阅Java How to Write a Key Listener教程