Como obtener los valores de una matriz de JTextField

Iniciado por BlackJocker, 21 Julio 2016, 00:16 AM

0 Miembros y 1 Visitante están viendo este tema.

BlackJocker

Saludos a todos, empezare explicando la situación en la que me encuentro que es la siguiente:
Estoy empezando a realizar un programa sobre operaciones con matrices de álgebra lineal, ahora me encuentro en un bache eh creado una matriz de JTextField con filas y columnas que que desee el usuario, la genera y se presenta en el formulario pero no encuentro la manera para extraer los valores de estos campos de texto, de esta manera genero la matriz y ocupo que al presionar un nuevo botón se guarden lo valores.
private void GenerarAActionPerformed(java.awt.event.ActionEvent evt) {                                        
       
       String filasA=this.FilasA.getText();
       String columnasA=this.ColumnasA.getText();
       
       int i=parseInt(filasA);
       int j=parseInt(columnasA);

       JTextField [][] matriz = new JTextField[i][j];

       
       int posh = 190;
       int posv =50;
       int fil=0;
       int col=0;

       for(col=0;col<i;col++){
           for(fil=0;fil<j;fil++){
               matriz[col][fil]= new JTextField();
               matriz[col][fil].setBounds(posv,posh,90,30);
               add(matriz[col][fil]);
               posv+=80;
           }
           posh+=30;
           posv =50;
       }
 this.repaint();
   }

si alguien me puede ayudar se lo agradecería mucho.

Octsam


Para obtener el contenido de cada campo de texto, basta escribir:

String texto = campo.getText();

Y si quieres convertirlo a un número "double", puede escribir:

double número = Double.parseDouble(campo.getText());

Así que en tu caso basta que pongas:

int ancho = matriz.length, alto = matriz[0].length;
double[][] matriz2 = new double[ancho][alto];

for(int i = 0, j; i < ancho; ++i){
    for(j = 0; j < alto; ++j){
        matriz2[i][j] = Double.parseDouble(matriz[i][j].getText());
    }
}



No obstante, lo he escrito así para simplificar; si no habría puesto un código con varias optimizaciones.

La verdad es que lo que necesitas no tiene dificultad. Debes mirar más la documentación de Java, y los ejemplos que hay por internet.