我目前正在开发一个基本游戏,它使用带有 JProgressBars 的计时器来为角色统计添加填充效果。我遇到的一个问题是,如果在填充进度条之前选择了另一个字符,它会导致图形重叠并且看起来非常错误。计时器通过自定义操作类连接到 JButton,并且可以通过键导航按钮。我想要做的是在动作开始时禁用键输入,并在最长计时器结束时重新启用键。如果代码有帮助,请询问,我将上传文件。非常感谢任何和所有帮助。
问问题
1744 次
1 回答
1
没有看到任何代码很难找到任何修复。但是,如果您的计时器是线程,那么线程组可能会很有用。这个怎么样:
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
于 2013-04-05T23:22:24.277 回答