Tengo un JPanel
con una función paintComponent()
. Lo llamaré una vez, y cuando el usuario haga clic en un JButton
diferente, estableceré un indicador y quiero volver a llamar a esta función, ya que hará algo ligeramente diferente una vez que se establezca el indicador.JPanel Desinfección y repintado de gráficos?
Así que esto es lo que me pregunto: ¿cómo borrar las cosas existentes de paintComponent
? Y para volver a dibujar, ¿acabo de llamar al paintComponent
nuevamente?
Actualmente estoy tratando de lo siguiente:
flag2 = true;
repaint(); //I expect (want) paintComponent to be called again
En el componente de pintura, hago cosas como:
if (flag2==true) {
g.drawRect(...);
} else {
g.drawLine(...);
}
Pero a través de las pruebas parece que hay algo malo en lo que soy obra.
Gracias por cualquier ayuda.
No llama a repintado() desde el método paintComponent, ¿verdad? ¿Está seguro de que la llamada a repintado() está asociada con el panel que desea actualizar? (por ejemplo, myPanel.repaint())? –