2012-10-20 24 views
2

如果我在我的定製JPanel上調用repaint()函數,我的理解是它重新執行paintComponent(Graphics g)是否正確?或者重新創建整個JPanel?預先感謝您的幫助。如何更新自定義JPanel?

+7

見[*在油漆機制*近觀](http://docs.oracle.com/javase/tutorial /uiswing/painting/closer.html),並嘗試專注於一個_specific_問題。 – trashgod

回答

4

+1垃圾桶。 repaint()狀態的文檔:

重新繪製此組件。

repaint()導致AWT調用update()(對於重量級組件然後將調用塗料())上EDT或paint()(輕量級組件),後者又調用paintComponent(...)

所以不是每次調用repaint()都不會重新創建它。

參考:

+1

+1在一個關於方式的回合中,事件隊列在那裏有一些地方,但這個想法是有聲的;) – MadProgrammer