Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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_Java_User Interface_Keyboard - Fatal编程技术网

暂时禁用密钥输入java

暂时禁用密钥输入java,java,user-interface,keyboard,Java,User Interface,Keyboard,我目前正在开发一款基本游戏,它使用带有JProgressBars的计时器为角色统计添加填充效果。我遇到的一个问题是,如果在填充进度条之前选择了另一个角色,则会导致图形重叠,看起来非常糟糕。计时器通过自定义操作类连接到JButtons,按钮可以通过键导航。我想做的是在动作开始时禁用按键输入,并在最长计时器结束时重新启用按键。如果代码有帮助,请询问,我将上传文件。非常感谢您的帮助。没有看到任何代码,很难找到任何修复方法。但是,如果您的计时器是线程,那么线程组可能会很有用。这个怎么样: public

我目前正在开发一款基本游戏,它使用带有JProgressBars的计时器为角色统计添加填充效果。我遇到的一个问题是,如果在填充进度条之前选择了另一个角色,则会导致图形重叠,看起来非常糟糕。计时器通过自定义操作类连接到JButtons,按钮可以通过键导航。我想做的是在动作开始时禁用按键输入,并在最长计时器结束时重新启用按键。如果代码有帮助,请询问,我将上传文件。非常感谢您的帮助。

没有看到任何代码,很难找到任何修复方法。但是,如果您的计时器是线程,那么线程组可能会很有用。这个怎么样:

public class MyWindow {
    Integer numTimersRunning = 0;
    ...
    {
            // timer started here
            numTimersRunning++;
            //timer does its thing and makes the progress bars go up.
            ...
            //timer finishes
            numTimersRunning--;
    }

    void keyPressed(MouseEvent e) {
     if(numTimersRunning > 0) 
              return;
     // do your keyboard input processing....
    }
}
我不知道,只是黑暗中的一枪,祝你好运


ps:听起来你可能遇到了一些双缓冲问题。查看

我知道我帮不上忙,但Swing不是为游戏设计的。Swing只是用于菜单。这正是我需要的。非常感谢你。