[英]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.