Java - Crear tablero con JTextField

   
Vista:

Crear tablero con JTextField

Publicado por John Anderson (1 intervención) el 17/04/2014 02:18:19
Buenas noches y gracias por su colaboración.

Tengo que realizar un juego específicamente el sudoku.


Quiero hacer un tablero que no tenga definido las filas ni las columnas y para ello necesito crear JTextField de forma que solo me reciba un numero en el constructor y los comience a crear dinamicamente.

algo asi:
1
2
3
4
5
6
7
8
9
10
public class aplicacion extends JFrame implements ActionListener {
 
  public tableroSudoku(int cantidad) {
 
         for(int i=0; i<cantidad; i++)
         {
            JTextField miCampo= new JTextField("o",1);
 
         }
     }

el detalle pensando mas adelante, es la manera de manejar todos los texfield con este metodo
miCampo.addKeyListener(new KeyAdapter()

y pues como todos quedan bajo el mismo nombre de "miCampo" me es imposible alguien me puede guiar con otra solucion?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Crear tablero con JTextField

Publicado por Carlos Mario Toro Loaiza (26 intervenciones) el 21/04/2014 03:13:26
Como necesitas crear un tablero dinámico NxN, lo que puedes hacer crear una matriz de JTextField, algo como:

el número que lees es que?? la cantidad de celdas o la cantidad de filas y columnas o q??
debes tener en cuenta que el sudoku crea un tablero cuadrado (es decir numFilas = numColumnas)

int n = 3; //cantidad de filas y columnas, este número lo puedes leer y crear la matriz de un tamaño dinámico
JTextField [][] matrizText = new JTextField [n][n];
for (int x = 0; x < n; x++) {
for (int y = 0; y < n; y++) {
matrizText[x][y] = new JTextField();
}
}

---------------------------------
de esta manera tienes una matriz cuadrada con los elementos de tipo JTextField que luego puedes pintar en pantalla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar