Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - mousergin

#1
Java / acomodar dos gridlayout uno sobre otro
20 Marzo 2017, 20:42 PM
Hola, veran, tengo que hacer un programa que me multiplique dos matrices de 3*4 y 4*3 ingresando por pantalla numero por numero en cada uno en un textField que acomode en las matrices dentro del gridLayout. Toda la parte logica la tengo, lo que me sucede es que no se como hacer para que me muestre ambos gridlayout bien alineados, si los acomodo cada uno en el este y oeste salen muy pegados a la venta y si los acomodo ambos al centro sale solo una matriz.

Aca esta el codigo para que me puedan ayudar.
Gracias

Código (java) [Seleccionar]
package MATRIZEJ2VCA;
import javax.swing.JApplet;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class MATRIZEJ2VCA extends JApplet implements ActionListener{
    Container C_Ventana;
    BorderLayout BL_Esquema;
    GridLayout GL_Esquema_Entrada1, GL_Esquema_Entrada2;
    FlowLayout FL_Esquema_Salida;
    JPanel P_Entrada1,P_Entrada2, P_Salida;
    JLabel L_Matriz1, L_Matriz2;
    JTextField TF_Matriz1[][], TF_Matriz2[][];
    JButton B_Visualizar;
    JTextArea TA_Resultado;
    String cadena;
    int Matriz3[][];
   
    public void init() {
       
        C_Ventana=getContentPane();
        BL_Esquema= new BorderLayout(5,5);
        C_Ventana.setLayout(BL_Esquema);
        GL_Esquema_Entrada1= new GridLayout(3,4,5,5);
        GL_Esquema_Entrada2= new GridLayout(4,3,5,5);
        P_Entrada1= new JPanel();
        P_Entrada1.setLayout(GL_Esquema_Entrada1);
        P_Entrada1.setLayout(GL_Esquema_Entrada2);
        P_Entrada2= new JPanel();
        P_Entrada2.setLayout(GL_Esquema_Entrada2);
        FL_Esquema_Salida= new FlowLayout();
        P_Salida= new JPanel();
        P_Salida.setLayout(FL_Esquema_Salida);
       
        L_Matriz1= new JLabel("MATRIZ 3X4");
        C_Ventana.add(L_Matriz1, BorderLayout.BEFORE_FIRST_LINE);
        L_Matriz1.setHorizontalAlignment(SwingConstants.CENTER);
        C_Ventana.add(P_Entrada1,BorderLayout.WEST);
                       
        L_Matriz2= new JLabel("MATRIZ 4X3");
        C_Ventana.add(L_Matriz2, BorderLayout.CENTER);
        L_Matriz2.setHorizontalAlignment(SwingConstants.CENTER);
        C_Ventana.add(P_Entrada2,BorderLayout.EAST);
       
        TA_Resultado=new JTextArea();
        TA_Resultado.setEditable(false);
        P_Salida.add(TA_Resultado);
        C_Ventana.add(P_Salida, BorderLayout.SOUTH);
        B_Visualizar=new JButton("VISUALIZAR");
        B_Visualizar.addActionListener(this);
        P_Salida.add(B_Visualizar);
       
        cadena="";
        Matriz3= new int [3][3];
       
       
        TF_Matriz1= new JTextField[3][4];
        for(int i=0; i<3;i++){
            for(int j=0; j<4; j++){
                TF_Matriz1[i][j]= new JTextField();
                P_Entrada1.add(TF_Matriz1[i][j]);
        }//For Columnas 
       }//For Filas
       TF_Matriz2= new JTextField[4][3];
       for(int i=0; i<4;i++){
            for(int j=0; j<3; j++){
                TF_Matriz2[i][j]= new JTextField();
                P_Entrada2.add(TF_Matriz2[i][j]);
        }//For Columnas 
       }//For Filas
        TA_Resultado.setText(cadena);
        setSize(1000,1000);
        setVisible(true);
    }//INIT
    public void actionPerformed(ActionEvent Evento){
       
        if (Evento.getSource()==B_Visualizar){
            for( int i=0; i<3;i++){
                for( int j=0; j<3; j++){
                    Matriz3[i][j]=0;
                }//For Columnas
            }//For Filas
            for(int j=0;j<3;j++){
                for(int f=0;f<3;f++){
                    for (int c=0;c<4;c++){
                        Matriz3[j][f] += Integer.parseInt(TF_Matriz1[f][c].getText())*Integer.parseInt(TF_Matriz2[c][f].getText());
                    }
                }
            }
            for(int i=0; i<3;i++){
                for(int j=0; j<3; j++){
                    cadena+=Matriz3[i][j]+" ";
                }//For Columnas
                cadena+=" \n";
            }//For Filas 
        }//Cierre if Action performed
        TA_Resultado.setText(cadena);
    }//Cierre ActionPerformed
}//Cierre clase