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