Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JInput中持续检测按钮是否被按下?_Java_Jinput - Fatal编程技术网

Java 如何在JInput中持续检测按钮是否被按下?

Java 如何在JInput中持续检测按钮是否被按下?,java,jinput,Java,Jinput,JInput中的按钮和帽子按下是基于事件的,这意味着如果我按下按钮1,它只会在我按住按钮时触发一次,在我松开按钮时再次触发。我想这样做,如果我按下按钮,它仍然会继续调用我分配给它的方法。我该怎么做呢?>好吧,我做了一些研究,最终得出以下结论,为我解决了这个问题: myTimer = new Timer(); myTimer.schedule(new TimerTask() { @Override public void run() {

JInput中的按钮和帽子按下是基于事件的,这意味着如果我按下按钮1,它只会在我按住按钮时触发一次,在我松开按钮时再次触发。我想这样做,如果我按下按钮,它仍然会继续调用我分配给它的方法。我该怎么做呢?>

好吧,我做了一些研究,最终得出以下结论,为我解决了这个问题:

    myTimer = new Timer();
    myTimer.schedule(new TimerTask() {
        @Override
        public void run() {
            // Do stuff
        }
    }, 50, 50);
然后,当我需要停止计时器时,我在另一个方法上调用以下命令

    myTimer.cancel;
    myTimer.purge;

如果您可以控制主循环,请设置一个标志,如果为true,将调用您的方法。如果你没有设置一个计时器,在你松开按钮之前可以定期触发,你能举个例子吗?我对Java本身有点陌生。这取决于您如何设置代码?你是否在使用某种主循环?不,我没有。我对计时器的方法有点感兴趣。