Imprimir matriz de enteros en un jTextArea

Iniciado por falko0n, 22 Marzo 2012, 04:07 AM

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

falko0n

Hola amigos, bueno comienzo con esto de la programacion de interfaces en java y me atore en una parte, deseo imprimir una matriz de enteros de 5x6 en un jTextArea, empeze con este codigo
//lleno la matriz
for(j=0;j<5;j++){
            for(k=0;k<6;k++){
                matriz[j][k]=lol;
                lol++;
            }
        }
//trato de imprimir la matriz
        for(j=0;j<5;j++){
            for(k=0;k<6;k++){
                jTextArea1.setText(String.valueOf(matriz[j][k]));
            }
        jTextArea1.setText("\n");
        }

pero el problema esq no corre los ciclos como deberia, sino q solo imprime un digito que ni siquiera es el que deberia, ayuda por favor!!, gracias xD!!

Shell Root

No se mucho, pero intenta primero formatearlo en una cadena y después lo muestras, es decir,

Código (java) [Seleccionar]

String strMatriz = "";
for( int i=0; i<5; i++){
   for( int j=0; j<6; j++){
      strMatriz+= matriz[i][j];
   }
   strMatriz+= "\n";
}
jTextArea1.setText( strMatriz );

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

falko0n

Cita de: Shell Root en 22 Marzo 2012, 04:28 AM
No se mucho, pero intenta primero formatearlo en una cadena y después lo muestras, es decir,

Código (java) [Seleccionar]

String strMatriz = "";
for( int i=0; i<5; i++){
   for( int j=0; j<6; j++){
      strMatriz+= matriz[i][j];
   }
   strMatriz+= "\n";
}
jTextArea1.setText( strMatriz );



SOLUCIONADO, GRACIAS, ESO ME SIRVIO DE MARAVILLA!!!, NO ME SABIA ESA MAÑA, JAJA

Proteus1989

El problema es que el set text borra el anterior contenido de jtextarea
por eso te aparecia siempre solo el ultimo valor

System23

Buen día,

Un favor, como hago para mostrar en un JTextPane, los saltos de linea, para que se me muestren las filas de la matriz, es que me salen todos los datos de la matriz, pero en una sola fila.

Gracias

Proteus1989

Cada vez que termines una vuelta del for más externo añadele a tu cadena de texto un '\n'

cadena = cadena + '\n'