我的所有applet都是一步一步画出的东西。
我的update()
块类似于:
public void update(Graphics g)
{
if (!done)
{
while (!doneDrawing)
{
imageGraphics.drawSomething(...);
g.drawImage(image);
}
done = true;
}
}
done
变量阻止循环在完成后再次完成整个绘制过程,并且我可以通过将其设置为false来使applet再次绘制绘图。
我将applet放在网页上,它按预期工作,但是当我切换标签/窗口然后回来时,我看到的只是白色屏幕(使用Chrome)。当我按下一个将done
设置为false的按钮时,小程序会重新绘制绘图,看起来很精致和花花公子,直到我切换标签。
我试图让applet不断在屏幕上绘制图片,即使done == true
,但这似乎没有任何改变。
public void update(Graphics g)
{
if (!done)
{
while (!doneDrawing)
{
imageGraphics.drawSomething(...);
g.drawImage(image);
}
done = true;
}
g.drawImage(image);
}
编辑:上面的第二块代码确实解决了问题。在我关闭/重新打开选项卡之前,我的Web浏览器只是不想更改为更新的代码,而不仅仅是刷新。但是,我要按照Andrew的建议开始学习JFrames / JPanels。