Java Swing 中的Revalidate() 與Repaint():綜合指南
背景:
中在Swing 應用程式中,操縱元件的佈局和外觀通常是必要的。實現此目的的兩個關鍵方法是 revalidate() 和 repaint()。
問題:
使用 JPanel 時,觀察到使用removeAll() 取代內容,然後使用 revalidate( ) 使舊內容可見。但是,在 revalidate() 旁邊加入 repaint() 可以解決該問題。為什麼會出現這種差異?
答案:
repaint() 和revalidate() 扮演不同的角色:
僅在某些情況下呼叫 revalidate() 就足夠了,但通常建議同時呼叫 repaint() 和 revalidate()。 repaint() 確保刪除舊內容,而 revalidate() 確保新版面配置計算並正確顯示。
其他注意事項:以上是為什麼「removeAll()」後面跟著「revalidate()」有時會在 JPanel 中留下舊內容可見,添加「repaint()」如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!