我有一种方法可以写出剩余的猜测数,并且我希望每次有人错过字母或单词时都可以重新绘制它,但是它一直在不断重新绘制自身,从而导致整个程序不断闪烁。
我的方法如下所示:
public void repaintWord(Graphics g){
g.SetColor(Color.RED);
g.drawString("You have " + getN() + " guesses left", 400, 50);
repaint();
}
当getN()更改其值时,如何使其仅重绘一次?
最佳答案
存储getN()
最后一次退出时的repaintWord()
值,并与getN()
进行比较
入口:
private int lastN = ??; /* Value for max guesses. */
public void repaintWord(Graphics g)
{
if (lastN != getN())
{
lastN = getN();
g.SetColor(Color.RED);
g.drawString("You have " + lastN + " guesses left", 400, 50);
repaint();
}
}