Motrar datos de la clase Matriz en un Formulario


Esta es la Clase Matriz

package matrizvisual;


/**
 *
 * @author Reynaldo
 */
public class Matriz {
    public int n;//Tam
    public int [][] x; //Arreglo


    public Matriz(int n){//SOBRECARGA DEL METODO
        this.n=n;
        x = new int[n][n];
            for(int i = 0; i < n; i++){
                for(int j = 0 ; j < n ; j++){
                x[i][j]=0;
                }
             }
   }
    public Matriz(int [][] x){//SOBRECARGA DEL METODO
        this.x=x;
        n= x.length;
    }
    public String toString(){//REDEFINICION DE METODO
        String texto=" ";
            for(int i = 0 ; i < n ; i++){
                for(int j = 0 ; j < n ; j++){
                texto += "\t   "+(int)Math.round(1100*x[i][j])/1100;
                }
                texto += " \n";
            }
            texto += " \n";
        return texto;
    }
  public static int Diagonal(int [][] x,int n){
     int diagonal=0;
     for(int i = 0 ; i < n ; i++){
        diagonal = diagonal + x[i][i];
       }
        return diagonal;
   }
      public int par(int x[][], int n){
        
        int cont = 0;
        for(int i = 0; i < n; i++){
            for(int j = 0 ; j < n ; j++){
                if(x[i][j] % 2 == 0){
               cont = cont + 1;    
            }
            
               
            }
        }
        return cont;
        
    }
     public int Impar(int x[][], int n){
        
        int cont = 0;
        for(int i = 0; i < n; i++){
            for(int j = 0 ; j < n ; j++){
                if(x[i][j] % 2 != 0){
               cont = cont + 1;    
            }
          }
        }
        return cont;
    }
     public void ordenar(int x[][],int n){
         
         for(int  i = 0 ; i < n ; i++){//ordena la matriz de abajo hacia arriba           
             for(int  j = 0 ; j < n ; j++){              
                 for(int l = 0 ; l < n ; l++){                  
                     for(int m = 0 ; m < n ; m++){                     
                           if(x[i][j] < x[l][m]){                       
                             int aux = x[i][j];                       
                             x[i][j] = x[l][m];                       
                             x[l][m] = aux;
                 }
             }
         }
     }
  }
}
     public void Ivertida(int x[][],int n){
         
         for(int  i = 0 ; i < n ; i++){//ordena la matriz de abajo hacia arriba           
             for(int  j = 0 ; j < n ; j++){              
                 for(int l = 0 ; l < n ; l++){                  
                     for(int m = 0 ; m < n ; m++){                     
                           if(x[i][j] > x[l][m]){                       
                             int aux = x[i][j];                       
                             x[i][j] = x[l][m];                       
                             x[l][m] = aux;
                 }
             }
         }
     }
  }

     public int Mayor(int x[][], int n){
       int mayor = x.length;
        for(int i = 0;i < n ; i++){
            for(int j = 0 ; j < n ; j++){
               if(mayor < x[i][j]){
                  mayor = x[i][j];           
               }
            }
        }      
        return mayor; 
    }
    public int menor(int x[][], int n){
        int menor = x.length;


        for(int i = 0 ; i < n ; i++){
            for(int j = 0 ; j < n ; j++){
               if(x[i][j] <= menor){
                  menor = x[i][j];
                }
            }
        }
         return menor;
    }       





Para programar el Botón salir necesitamos ingresar el siguiente código en su evento ActionPerformed. El Botón salir nos pemitira salir de la aplicación en cualquier momento que el usuario lo decida.

private void BtnSalirActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        System.exit(0);
    } 



Para programar en Botón Limpiar necesitamos ingresar el siguiente código en su evento ActionPerformed. el Botón limpiar nos permitirá limpiar todos los controles luego que se hayan ingresados los datos.

private void BtnLimpiarActionPerformed(java.awt.event.ActionEvent evt) {                                           


        // TODO add your handling code here:
        String Limpiar = "";
        TxtFilas.setText(Limpiar);
        TxtColumnas.setText(Limpiar);
        TxtMostrarMatriz.setText(Limpiar);
       
}


Para Programar el Boton Mostrar necesitaremos agregarel siguiente codigo en su evento ActionPerformed. el cual nos permitira mostrar los datos que ingresemos en el JOptionPane.ShowInput y visualizarlos en el Cuadro de texto.

private void BtnLMostrarActionPerformed(java.awt.event.ActionEvent evt) {                                            
           int n= Integer.parseInt(TxtFilas.getText());
           int m= Integer.parseInt(TxtColumnas.getText());
           int [][] a1 = new int[n][m];
           int [][] t = new int[n][m];
           int [][] g = new int[n][m];
           int v3[][] = new int[n][m];
           String cad = "";
           int i,j;
           boolean igual = true;
           Matriz a = new Matriz(a1);
           Matriz h = new Matriz(g);
           Matriz z = new Matriz(t);
           Matriz a3 = new Matriz(v3);
            
                if(TxtFilas.getText().equals(TxtColumnas.getText())){
                 for( i = 0 ; i < n ; i++){
                        for( j = 0 ;j < m ; j++){
                            cad = JOptionPane.showInputDialog(" " +"Fila"+ i +"  "+"Columna"+ j);
                              a1[i][j] = Integer.parseInt(cad);
                              t[i][j] = Integer.parseInt(cad);
                              g[i][j] = Integer.parseInt(cad);
                        }
                    } 
                 for( i = 0; i < n ; i++){
                     for( j = 0 ;j < m ; j++){
         
           cad = JOptionPane.showInputDialog(" " + "   " + "[" +(i+1)+"]");
           v3[i][j] = Integer.parseInt(cad);// v[i]= (int)(Math.random()* n + n);
           if(a1[i][j] != v3[i][j]){
             igual = false;    
           }
              if(igual){ 
               JOptionPane.showMessageDialog(null, "Son iguales");
              }else
                  JOptionPane.showMessageDialog(null,"No son Iguales");
        }
  }      
                a.ordenar(a1 , n);
                 z.Ivertida(t, n);
                 TxtMostrarMatriz.setText("Matriz 1\n" + h + "Matriz 2\n" + a3 + "\nMatriz Ordenada:\n " + a + "Matriz Invertida:\n " + z +"\nSuma Diagonol: " + h.Diagonal(g, g.length) + "\nCant Pares: " + a.par(a1, a1.length) + "\nCant Impares: " + a.Impar(a1, a1.length) + "\nElem Mayor: " + a.Mayor(a1, a1.length) + "\nElem Menores: " + a.menor(a1, a1.length));
                }else{
                    JOptionPane.showMessageDialog(null,"La matriz debe de ser cuadrada");
                }                  
      }


Con esto ya tenemos lista nuestra aplicación para mostrar los datos como ser  el numero mayor y menor, par e impar ordenar la matriz , invertir la matriz.

Comentarios