Foros del Web » Programación para mayores de 30 ;) » Java »

Duda con super.paint ()

Estas en el tema de Duda con super.paint () en el foro de Java en Foros del Web. Hola, mi duda es la siguiente: cuando utilizo componentes GUI y además quiero dibujar gráficos, modifico la función paint. Si simplemente la modifico, los componentes ...
  #1 (permalink)  
Antiguo 29/08/2011, 14:42
 
Fecha de Ingreso: marzo-2011
Mensajes: 94
Antigüedad: 13 años, 1 mes
Puntos: 3
Duda con super.paint ()

Hola, mi duda es la siguiente: cuando utilizo componentes GUI y además quiero dibujar gráficos, modifico la función paint. Si simplemente la modifico, los componentes GUI se ven mal o directamente no se vé, para que todo quede bien tengo que modificar la función paint especificando la primera linea como super.paint (g). Es esto lo que no entiendo, por qué hay que llamar a la función sin redefinir para que se vea todo bien.

Un saludo!
  #2 (permalink)  
Antiguo 29/08/2011, 16:03
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Duda con super.paint ()

Se debe a la herencia de clases.

Partes de una clase que tiene un método paint, que se encarga de mostrar las "dibujos" y de otras cosas de las que no eres consciente. Entonces creas una nueva clase que hereda de esa, por lo tanto, también heredas ese método paint que permite que tu nueva clase siga mostrando los "dibujos".

Ahora bien, tú quieres añadir nuevas funcionalidades a tu método paint, por lo tanto sobreescribes el método con tus cambios. Problema ¿qué pasa con todas esas cosas que hacían que se mostrasen los dibujos? Ya no existen, las has borrado tú al sobreescribir el método.

¿Cómo recuperarlas? Llamando al método super.paint dentro de tu nuevo paint, que no es más que una llamada al método paint de la primera clase, de esta forma ejecutas el paint original que muestra los "dibujos" y el códgio con los cambios que tú le has añadido.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 30/08/2011, 07:16
 
Fecha de Ingreso: marzo-2011
Mensajes: 94
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Duda con super.paint ()

Muchas gracias!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:57.