0

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

4

1 回答 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 回答