0

我的小程序所做的就是一步一步地画一些东西。

我的update()块是这样的:

public void update(Graphics g)
{
  if (!done)
  {
    while (!doneDrawing)
    {
      imageGraphics.drawSomething(...);
      g.drawImage(image);
    }
    done = true;
  }
}

done变量可防止循环在完成后再次执行整个绘图过程,并且我可以通过将其设置为 false 来使小程序再次绘制绘图。

我将小程序放在网页上,它按预期工作,但是当我切换标签/窗口并返回时,我看到的只是白屏(使用 Chrome)。当我按下一个设置done为 false 的按钮时,小程序会重新绘制绘图,看起来一切都很好而且很漂亮,直到我切换选项卡。

我试图让小程序不断在屏幕上绘制图片,即使done == true,但这似乎并没有改变任何东西。

public void update(Graphics g)
{
  if (!done)
  {
    while (!doneDrawing)
    {
      imageGraphics.drawSomething(...);
      g.drawImage(image);
    }
    done = true;
  }
  g.drawImage(image);
}

编辑:上面的第二段代码实际上确实解决了这个问题。在我关闭/重新打开选项卡之前,我的网络浏览器不想更改为更新的代码,而不仅仅是刷新。但是,我将按照 Andrew 的建议开始学习 JFrames/JPanels。

4

0 回答 0