Foro sobre Java SE > Tablero
Prueba así, a ver si te sirve:
class Tabla extends JPanel {
private static final int DIMENSION = 15;
public static final int MAXIMO = 500;
private final int COSTADO = MAXIMO / DIMENSION;
private final Rectangle2D[][] celdas = new Rectangle2D[DIMENSION][DIMENSION];
@Override
public void paintComponent(Graphics g) {
Graphics2D pantalla = (Graphics2D) g;
int y = 0;
for (int i = 1; i <= DIMENSION; i++) {
int x = 0;
for (int j = 1; j <= DIMENSION; j++) {
Rectangle2D.Float celda = new Rectangle2D.Float(x, y, COSTADO, COSTADO);
pantalla.setColor(Color.GREEN);
pantalla.fill(celda);
pantalla.setColor(Color.BLACK);
pantalla.setStroke(new BasicStroke(1.0f));
pantalla.draw(celda);
celdas[i-1][j-1] = celda;
x += COSTADO;
}
y += COSTADO;
}
}
}
Fantástico una vez más Choces. Muchas gracias ;)
Hola, estoy aquí de nuevo molestando ;(
Estoy aprendiendo interfaz de usuario desde código (sin usar la Paleta de diseño que nos ofrece Netbeans). Estoy intentanto replicar el juego Batalla Naval.
A la hora de diseñar la tabla, me sale todo bien, pero no se como convertirlo en celdas cada recuadro diseñado.
Aqui mi codigo de la tabla:
class Tabla extends JPanel {
private static final int DIMENSION = 15;
public static final int MAXIMO = 500;
private final int COSTADO = MAXIMO / DIMENSION;
@Override
public void paintComponent(Graphics g) {
Graphics2D pantalla = (Graphics2D) g;
int y = 0;
for (int i = 1; i <= DIMENSION; i++) {
int x = 0;
for (int j = 1; j <= DIMENSION; j++) {
Rectangle2D.Float r = new Rectangle2D.Float(x, y, COSTADO, COSTADO);
pantalla.setColor(Color.GREEN);
pantalla.fill(r);
pantalla.setColor(Color.BLACK);
pantalla.setStroke(new BasicStroke(1.0f));
pantalla.draw(r);
x += COSTADO;
}
y += COSTADO;
}
}
Me da como resultado una tabla dividida 15x15 cuadritos pequeños, pero ahora me gustaría separar estos pequeños cuadros en celdas. ¿Cómo sería posible esto?