Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/05/2017, 15:55
Jose789
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: Volver a repintar el area

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

En el método paint() estás haciendo un "new figura()", es decir, estas creando un nuevo objeto figura al que nunca has llamado a sus métodos AddFigure(), así que paint() no pintera ninguna figura simplemente porque el objeto figura que tiene, recién creado, no tiene datos dentro.

En tu formulario haces un "new figure()" (OTRO objeto figura distinto del anerior) al que llamas una vez a AddFigura. No pones el resto del código, pero si cada vez que en el formulario introduces los datos de una figura haces un new figura(), pierdes todo lo anterior. Y ademas no es el mismo objeto figura que el del paint() donde creas otro mas y encima vacio.

Solo tienes que hacer un new de figura en un sitio y pasárselo a todas las demas clases. En el main podrias poner algo asi

Código:
... main ... {
   figure figura = new figure()
   formulario form = new formulario( figure );
   pintar pintar = new pintar( figure )
}
pintar y figure deben guardarse el objeto figure que reciben en el constructor en algún atributo de la clase y usar ese atributo para AddFigure() y para paint(), sin ahcer más new de figura.

Saludos.
Mis conocimientos no llegan a mas...

En los constructores de las demás clases donde le paso figure como se haría?