簡體   English   中英

Java repaint()/ update()

[英]Java repaint()/update()

只是處理一些與Java圖形有關的代碼,這是我今天的演講中非常簡單的示例。 無論如何,Internet似乎說更新不會由系統觸發器(例如調整框架大小等)調用。在此示例中,更新由此類觸發器調用(因此,當我僅希望調用paint時,調用了update和paint。 )。 他似乎把它歸結為操作系統,並且每個操作系統都有不同的結果。

誰能為我澄清一下?

在Windows 7上工作

提前致謝

這是一篇很棒的文章,確實說明了一切:

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

1)在AWT中繪畫

了解AWT的繪畫API如何工作,有助於了解是什么觸發了窗口環境中的繪畫操作。 在AWT中,有兩種繪畫操作:系統觸發的繪畫和應用程序觸發的繪畫。

2)系統觸發的繪畫

在系統觸發的繪畫操作中,系統通常出於以下原因之一,請求組件渲染其內容:

  • 首先使該組件在屏幕上可見。

  • 調整了組件的大小。

  • 組件有損壞,需要修理。 (例如,先前遮擋了組件的物體已移動,並且組件的先前遮擋的部分已暴露)。

3)應用觸發繪畫

在應用程序觸發的繪畫操作中,組件決定其內部狀態已更改,因此需要更新其內容。 (例如,一個按鈕檢測到鼠標按鈕已被按下,並確定它需要繪制“被按下”的按鈕視覺)。

4)塗漆方法

不管如何觸發繪制請求,AWT都會使用“回調”機制進行繪制,而對於重量級和輕量級組件,此機制都是相同的。 這意味着程序應該將組件的渲染代碼放在特定的重寫方法中,並且工具箱將在繪制時調用該方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM