我有一個JPanel
與paintComponent()
函數。我會調用它一次,然後當用戶點擊不同的JButton
時,我會設置一些標誌,並且希望再次調用此函數,因爲它會在設置標誌後做一些稍微不同的事情。JPanel圖形清理和重繪?
所以這裏是我想知道的:我如何清除paintComponent
現有的東西?並重新繪製,我是否再次撥打paintComponent
?
目前我正在嘗試以下:
flag2 = true;
repaint(); //I expect (want) paintComponent to be called again
在塗料成份,我做的東西,如:
if (flag2==true) {
g.drawRect(...);
} else {
g.drawLine(...);
}
但經過測試,好像有什麼毛病我什麼這樣做。
感謝您的任何幫助。
你沒有從paintComponent方法中調用repaint(),是嗎?你確定repaint()調用與你想要刷新的面板有關嗎? (例如myPanel.repaint())? –