Java我只想在变量更改时重新绘制
我有一种方法,可以写下还有多少猜测,我希望每次有人漏掉字母或单词时都能重新绘制,但它一直在重新绘制自己,这会导致整个程序不断闪烁 我的方法如下所示:Java我只想在变量更改时重新绘制,java,swing,repaint,paintcomponent,Java,Swing,Repaint,Paintcomponent,我有一种方法,可以写下还有多少猜测,我希望每次有人漏掉字母或单词时都能重新绘制,但它一直在重新绘制自己,这会导致整个程序不断闪烁 我的方法如下所示: public void repaintWord(Graphics g){ g.SetColor(Color.RED); g.drawString("You have " + getN() + " guesses left", 400, 50); repaint(); } 当getN()更改其值时,如何使其仅重新绘制一次 在
public void repaintWord(Graphics g){
g.SetColor(Color.RED);
g.drawString("You have " + getN() + " guesses left", 400, 50);
repaint();
}
当getN()更改其值时,如何使其仅重新绘制一次 在上次退出时存储
getN()
的值,并与上一次退出时的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();
}
}
在上次退出时存储
getN()
的值,并与上一次退出时的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();
}
}
将
lastGuessCount
存储为成员变量:
关于坏猜测:
然后使用:
if (getN() != lastGuessCount) {
repaintWord(g);
}
将
lastGuessCount
存储为成员变量:
关于坏猜测:
然后使用:
if (getN() != lastGuessCount) {
repaintWord(g);
}
谢谢,我今天在火车上就有这个想法,但它就这样消失了!谢谢,我今天在火车上就有这个想法,但它就这样消失了!