She*_*ard 1 java swing repaint paintcomponent
我有一种方法可以写出剩下多少猜测,并且我希望每次人们错过字母或单词时都要重新绘制,但是它会一直重新绘制,这会导致整个程序不断闪烁.
我的方法看起来像这样:
public void repaintWord(Graphics g){
g.SetColor(Color.RED);
g.drawString("You have " + getN() + " guesses left", 400, 50);
repaint();
}
Run Code Online (Sandbox Code Playgroud)
当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();
}
}
Run Code Online (Sandbox Code Playgroud)