暂时禁用键输入java

时间:2013-04-05 23:08:52

标签: java user-interface keyboard

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

1 个答案:

答案 0 :(得分:1)

没有看到任何代码,很难找到任何修复。但是,如果您的计时器是Threads,那么Thread Group可能会很有用。怎么样:

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:听起来你可能会发布一些双重缓冲。看看http://docs.oracle.com/javase/tutorial/extra/fullscreen/doublebuf.html