Red de conocimiento informático - Aprendizaje de programación - ¿Se ejecuta paint() en JAVA automáticamente?

¿Se ejecuta paint() en JAVA automáticamente?

Sí, el método paint() solo se llamará automáticamente una vez. Debes reescribir este método tú mismo cuando lo uses.

Una vez llamado, se puede volver a llamar usando repaint() en el hilo.

Acerca de los gráficos; la mayoría de las opiniones del cartel original son correctas, pero hay algunos problemas menores.

En primer lugar, no llamaste al método paint(g), sino que lo llamó el sistema, o tu propio repaint().

Solicitud

Si desea llamar al método paint(), debe pasar un parámetro Gráficos.

Los gráficos de objetos representan su entorno de dibujo.

Por ejemplo, si hay dos jframes jf1 y jf2, hay dos gráficos G1 y G2.

(G1 = JF1.getgraphics(), G2 = JF 2. Obtener gráficos())//Obtener el entorno de dibujo.

Si se muestra jf1, jf2 está oculto.

Entonces, cuando llames a paint(g2) tú mismo, el contenido dibujado no se mostrará, porque

Paint() en realidad se basa en jf2.

"La clase que contiene el método paint() crea una instancia de un objeto y luego llama al constructor para generar gráficos automáticamente."

Los gráficos de objetos no se generan en la clase que usted mismo escribe.

Pero se ha creado una instancia en algunas clases que pueden usarse como contenedores, como JFrame.

En otras palabras, configura el entorno de dibujo.

Entonces, cuando escribes JFrame o algo así, necesitas implementar el método paint().

No es necesario especificar un gráfico para describir su entorno de dibujo.

PD (también puedes intentar llamar a paint() en el hilo, lo cual parece estar bien, porque después de todo también es un método.

Solía ​​llamar a repaint() en el método paint(), y en lugar de llamar a repaint() en el hilo, se logra el efecto de animación

)

.