简体   繁体   English

Java中的keylistener无法正常工作

[英]keylistener in java not working

I want my java program to be running in the background by default, but use a keylistener to call my changewallpaper class. 我希望我的Java程序默认情况下在后台运行,但是使用keylistener调用changewallpaper类。 The changewallpaper class definently works, but the keylistener does not call the method. changewallpaper类绝对起作用,但是键侦听器不调用该方法。 The keyevent will be changed later it's currently just for testing. 稍后将更改关键事件,它仅用于测试。

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

A KeyListener does not listen to all keyboard events indiscriminately - it only listens to events on a particular Component, when that Component has keyboard focus. KeyListener不会不加选择地监听所有键盘事件-当该Component具有键盘焦点时,它只会监听某个特定Component上的事件。 You have to attach the listener to something with an addKeyListener method or similar. 您必须使用addKeyListener方法或类似方法将侦听器附加到某些对象

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM