以下是部份源碼:
當鼠標單擊panel的時候,就會調用add方法,Panel面板上立刻出現了一個小方塊。當鼠標在小方塊上雙擊的時候,就會調用remove方法,但是Panel面板上的小方塊并不能立刻消失,必須將整個面板最小化,或者改變面板大小的時候,面板上的小方塊才會消失。也就是說,remove方法中repaint()并沒有立刻生效。
然而把 super.paintComponent(g)前的//去掉之后不管是add或remove中調用repaint()都立刻生效。
JComponent中的paintComponent方法:
是什么原因導致執行了上面一段代碼之后,面板就可以立即更新了呢?難道跟dispose釋放資源有關?
好好活著,因為我們會死的很久!