我有一个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())? –