Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2012, 08:08
Pacheco_1990_2
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 4 meses
Puntos: 0
Problema con objetos graphics

Bien espero explicar bien mi problema que es algo largo de explicar.

Tengo una clase casilla que me crea un FillRect. Luego una clase tablero que me crea nXM objetos casilla (Es una cuadricula). 32x32 por ejemplo.

Pero durante la ejecución del programa tengo que poder cambiar la dimensión entonces mi problema surge cuando tengo que hacer nuevos objetos casilla. Estos no se pintan encima de los objetos ya creados. Lo único que se me ocurria es cambiar el valor de los objetos casilla creados. Pero no tiene sentido porque faltaría objetos por crear.

Aquí pongo una especie de ejemplo que hecho (no es el programa que estoy haciendo solo un ejemplo por si no me he explicado bien).


Código Javascript:
Ver original
  1. public class Provamos extends JComponent{
  2.    
  3.     Color pintamos;
  4.     int medida;
  5.  
  6.     Provamos(Color r, int medida){
  7.         pintamos=r;
  8.         this.medida=medida;
  9.         setBounds(0,0,20,20);
  10.  
  11.     }
  12.  
  13.  
  14.     @Override
  15.     public void paintComponent(Graphics g){
  16.  
  17.         Graphics2D g2d = ( Graphics2D ) g;  // CONVERTIMOS G A GRAPHICS 2D
  18.  
  19.             g2d.setColor(pintamos);
  20.             g2d.fillRect(0, 0, medida, medida);
  21.         }
  22.  
  23. }
  24.  
  25. class Principal{
  26.  
  27.     public static void main (String [] args){
  28.  
  29.         JFrame ventana=new JFrame();
  30.         ventana.setLayout(null);
  31.         ventana.setSize(400,400);
  32.  
  33.  
  34.         ventana.add(new Provamos(Color.BLACK,20));
  35.         ventana.add(new Provamos(Color.WHITE,20)); // ESTE NO SE DIBUJA
  36.  
  37.         ventana.setVisible(true);
  38.         ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  39.  
  40.  
  41.     }
  42. }

Gracias adelantadas a los que me puedan ayudar.