我正在編寫一個在GUI中使用幾個組件的程序。但是,我不需要同時顯示所有這些內容。另外,取決於用戶的輸入,可能有一次組件不再被使用,它可能或可能不再需要。Swing中setVisible()方法的含義
到目前爲止,我只是簡單地調用setVisible(false)
對於我確實想在屏幕上顯示的每個組件。如果他們再次需要,我只是讓他們可見。
我的問題是這樣的。將組件的可見性設置爲false會對程序的性能產生重大影響(一般而言)? paintComponent
方法是否繪製了一個不可見的組件,然後只是不顯示它,還是一起忽略它?
另外,只是從容器中刪除組件而不是更好?
據我所知,一個組件不可見時不被繪製。佈局管理器仍然需要遍歷所有可用的組件,但通常會忽略這些組件,但仍然需要將它們包含在計算循環中。使組件可見將導致組件層次結構失效,要求將它們重新佈局並重新繪製(同樣使其不可見)。 – MadProgrammer 2013-04-11 03:48:03
paint方法繪製添加到此容器的所有組件。如果可以移除,則最好從容器中移除組件。 – chintan 2013-04-11 03:49:26