Java repaint()/ update()

时间:2012-02-20 23:55:31

标签: java graphics

只是处理一些与java图形有关的代码,这是我今天演讲的一个非常简单的例子。无论如何,互联网似乎说系统触发器不会调用更新,例如调整帧等。在这个例子中,更新是由这样的触发器调用的(因此当我只希望调用paint时会调用update和paint) )。他似乎把它归结为操作系统,每个都有不同的结果。

有人可以为我澄清这个吗?

使用Windows 7

提前致谢

1 个答案:

答案 0 :(得分:0)

这是一篇很棒的文章,真的说明了一切:

  

http://java.sun.com/products/jfc/tsc/articles/painting/

     

1)AWT绘画

     

要了解AWT的绘画API如何工作,有助于了解什么   在窗口环境中触发绘制操作。在AWT,那里   有两种绘画操作:系统触发绘画,和   应用程序触发的绘画。

     

2)系统触发的绘画

     

在系统触发的绘画操作中,系统请求a   用于呈现其内容的组件,通常用于以下之一   原因:

     
      
  • 首先在屏幕上显示该组件。

  •   
  • 调整组件的大小。

  •   
  • 组件有损坏需要修理。 (例如,先前遮挡了组件的东西已移动,并且a   以前模糊的部分已暴露出来。)

  •   
     

3)应用程序触发的绘画

     

在应用程序触发的绘制操作中,组件决定   它需要更新其内容,因为它的内部状态   改变。 (例如,一个按钮检测到鼠标按钮已经存在   按下并确定它需要画一个“按下”按钮   视觉)。

     

4)绘画方法

     

无论如何触发绘制请求,AWT都使用a   绘画的“回调”机制,与此机制相同   重量级和轻量级组件。这意味着一个程序   应该将组件的渲染代码放在特定的内部   重写方法,工具箱将调用此方法   是时候画画了。