Muchas gracias por las respuestas. :D Lo he entendido perfectamente (menos lo que hay que sumar 1 que no entiendo el porque). Solo que ahora tengo un problema. Para realizar todo el programa necesito saber que casilla clico con el ratón (para poder pintarla). Por tanto cada casilla tiene que tener unas coordenadas distintas. No puedo hacer que cada casilla empiece en (0,0). Porque necesito saber que casilla clico según las cordenadas del ratón y de dicha casilla. Esa era la única idea que se me había ocurrido para realizar la disticion entre casillas y ratón.
¿Me explico?
Lo que he conseguido es que funcione pero lo veo algo rudimentario no... Porque no guardo las cordenadas en si del draw sino del objeto creado en cuestión.
Código Javascript
:
Ver originalimport java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JFrame;
/**
*
* @author Pacheco
*/
class Cuadricula extends JComponent{
int height=0;
int width=0;
int cordenadax;
int cordenaday;
public Cuadricula(int x,int y,int h,int w){
cordenadax=x;
cordenaday=y;
height=h;
width=w;
setBounds(x,y,h+1,w+1);
}
@Override
public void paintComponent (Graphics g){
super.paintComponent(g);
g.drawRect(0,0,width,height);
}
}
class IconosVI {
public static void main (String [] args){
JFrame ventana=new JFrame("V1");
ventana.setSize(400, 400);
Cuadricula casillas[] = new Cuadricula[5];
casillas[1] = new Cuadricula(0, 0,60,60);
casillas[3] = new Cuadricula(60, 60,20,20);
System.out.print(casillas[3].cordenadax+" ");
System.out.print(casillas[3].cordenaday);
System.out.println();
System.out.print(casillas[1].cordenadax+" ");
System.out.print(casillas[1].cordenaday);
ventana.getContentPane().add(casillas[3]);
ventana.getContentPane().add(casillas[1]);
ventana.getContentPane().setLayout(null);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.setVisible(true);
}
}
¿Esta bien? ¿O hay una mejor manera de hacerlo?
Muchísimas gracias :D.