Buenas,
Java y los layouts pueden ser una pesadilla. El problema es múltiple:
1º - Tienes que poner el layout del contenido como absoluto (se hace pasando null al método setLayout)
2º - Tienes que indicar que el componente Cuadricula empiece en los puntos x,y y que tengan como tamaño width+1 y height+1 (método setBounds). Tiene que ser más 1, o el componente no dibujará bien la línea inferior y derecha.
3º - Tienes que llamar a drawRect con las coordenadas de comienzo 0,0 (esto es porque el componente se situa anteriormente en la posición deseada ya).
Código Java:
Ver originalimport java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JFrame;
/**
*
* @author Pacheco
*/
final int height = 60;
final int width = 60;
int posicionx=0;
int posiciony=0;
public Cuadricula(int x,int y){
setBounds(x,y,width+1, height+1);
}
@Override
public void paintComponent
(Graphics g
){
super.paintComponent(g);
g.drawRect(0,0,width,height);
}
}
public class IconosVI {
public static void main
(String [] args
){
ventana.setSize(400, 400);
Cuadricula casillas[] = new Cuadricula[5];
casillas[1] = new Cuadricula(0, 0);
casillas[3] = new Cuadricula(60, 60);
ventana.getContentPane().add(casillas[1]);
ventana.getContentPane().add(casillas[3]);
ventana.getContentPane().setLayout(null);
ventana.
setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE); ventana.setVisible(true);
}
}