hola amigos bueno me pueden ayudar a como metre una matriz a un JTable?

Iniciado por XpandyX, 5 Marzo 2011, 01:03 AM

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

XpandyX

bueno amigos les muestro el codigo que me salio y bueno es una matriz cuadrada

Código (java) [Seleccionar]
DefaultTableModel modelomatriznxm = new DefaultTableModel();
        DefaultTableModel modelomatrizmxn = new DefaultTableModel();
        DefaultTableModel modelomatrizResultado = new DefaultTableModel();
        int n=Integer.parseInt(txtn.getText());
        int m=Integer.parseInt(txtm.getText());       
       
        if (n!=0 && m!=0){

            int [][] matriz1 = new int [n][m];
            int [][] matriz2 = new int [m][n];
            int [][] matrizResultado = new int [n][n];

            for(int i =0;i<n;i++){
                for(int j=0;j<m;j++){
                    matriz1[i][j]=(int)(Math.random()*11)-1;
                    System.out.print(matriz1[i][j]+"\t");
                }
                System.out.println();
            }
            System.out.println();
            for(int i=0;i<m;i++){
                for(int j =0;j<n;j++){
                    matriz2[i][j]=(int)(Math.random()*11)-1;
                    System.out.print(matriz2[i][j]+"\t");
                }
                System.out.println();
            }
            System.out.println();
           
            int mult=1;
            int c=0;
            for(int j=0;j<n;j++){
                int suma = 0;                   
                for(int a=0;a<n;a++){
                    suma=0;
                    for(int b=0;b<m;b++){
                   //    mult=mutl*matriz1[a][b]*;
                        suma=matriz1[j][b]*matriz2[b][a]+suma;
                    }   
                //        System.out.print(sum+"\t")
                    matrizResultado[j][a]=suma;
                }                   
       //       System.out.println();
            }

            for(int i=0;i<n;i++){
                for(int j=0;j<n;j++){
                    System.out.print(matrizResultado[i][j]+"\t");
                }
                System.out.println();
            }

            tblMatriz1.setModel(modelomatriznxm);
            tblMatriz2.setModel(modelomatrizmxn);
            tblMatrizResultado.setModel(modelomatrizResultado);

            Object [][] fila = new Object[n][n];
            for(int i=0;i<n;i++){
                System.arraycopy(matrizResultado[i], 0, fila[i], 0, n);
            }
            for(int i=0;i<n;i++){
                modelomatrizResultado.addRow(fila[i]);
            }
}
        else{
            JOptionPane.showMessageDialog(null,"Ingrese valores de n y m");
        }


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

Leyer

Código (java) [Seleccionar]
Object [][] fila = new Object[n][n]; Esto tiene que ser del tipo int sino lanzara java.lang.ArrayStoreException.

Para copiar la matriz
Código (java) [Seleccionar]
System.arraycopy(matrizResultado, 0, fila, 0, n);

Un saludo.