Foro de elhacker.net

Programación => Java => Mensaje iniciado por: XpandyX en 5 Marzo 2011, 01:03 am



Título: hola amigos bueno me pueden ayudar a como metre una matriz a un JTable?
Publicado por: XpandyX en 5 Marzo 2011, 01:03 am
bueno amigos les muestro el codigo que me salio y bueno es una matriz cuadrada

Código
  1. DefaultTableModel modelomatriznxm = new DefaultTableModel();
  2.        DefaultTableModel modelomatrizmxn = new DefaultTableModel();
  3.        DefaultTableModel modelomatrizResultado = new DefaultTableModel();
  4.        int n=Integer.parseInt(txtn.getText());
  5.        int m=Integer.parseInt(txtm.getText());        
  6.  
  7.        if (n!=0 && m!=0){
  8.  
  9.            int [][] matriz1 = new int [n][m];
  10.            int [][] matriz2 = new int [m][n];
  11.            int [][] matrizResultado = new int [n][n];
  12.  
  13.            for(int i =0;i<n;i++){
  14.                for(int j=0;j<m;j++){
  15.                    matriz1[i][j]=(int)(Math.random()*11)-1;
  16.                    System.out.print(matriz1[i][j]+"\t");
  17.                }
  18.                System.out.println();
  19.            }
  20.            System.out.println();
  21.            for(int i=0;i<m;i++){
  22.                for(int j =0;j<n;j++){
  23.                    matriz2[i][j]=(int)(Math.random()*11)-1;
  24.                    System.out.print(matriz2[i][j]+"\t");
  25.                }
  26.                System.out.println();
  27.            }
  28.            System.out.println();
  29.  
  30.            int mult=1;
  31.            int c=0;
  32.            for(int j=0;j<n;j++){
  33.                int suma = 0;                    
  34.                for(int a=0;a<n;a++){
  35.                    suma=0;
  36.                    for(int b=0;b<m;b++){
  37.                   //    mult=mutl*matriz1[a][b]*;
  38.                        suma=matriz1[j][b]*matriz2[b][a]+suma;
  39.                    }  
  40.                //        System.out.print(sum+"\t")
  41.                    matrizResultado[j][a]=suma;
  42.                }                    
  43.       //       System.out.println();
  44.            }
  45.  
  46.            for(int i=0;i<n;i++){
  47.                for(int j=0;j<n;j++){
  48.                    System.out.print(matrizResultado[i][j]+"\t");
  49.                }
  50.                System.out.println();
  51.            }
  52.  
  53.            tblMatriz1.setModel(modelomatriznxm);
  54.            tblMatriz2.setModel(modelomatrizmxn);
  55.            tblMatrizResultado.setModel(modelomatrizResultado);
  56.  
  57.            Object [][] fila = new Object[n][n];
  58.            for(int i=0;i<n;i++){
  59.                System.arraycopy(matrizResultado[i], 0, fila[i], 0, n);
  60.            }
  61.            for(int i=0;i<n;i++){
  62.                modelomatrizResultado.addRow(fila[i]);
  63.            }
  64. }
  65.        else{
  66.            JOptionPane.showMessageDialog(null,"Ingrese valores de n y m");
  67.        }

espero puedan ayudarme eh intentado meterlo de esa manera y de otras pero he fracaso en el intento.
Gracias de antemano.


Título: Re: hola amigos bueno me pueden ayudar a como metre una matriz a un JTable?
Publicado por: Leyer en 5 Marzo 2011, 19:24 pm
Código
  1. Object [][] fila = new Object[n][n];
Esto tiene que ser del tipo int sino lanzara java.lang.ArrayStoreException.

Para copiar la matriz
Código
  1. System.arraycopy(matrizResultado, 0, fila, 0, n);

Un saludo.