Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: mousergin en 20 Marzo 2017, 20:42 PM

Título: acomodar dos gridlayout uno sobre otro
Publicado por: mousergin en 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
Título: Re: acomodar dos gridlayout uno sobre otro
Publicado por: mousergin en 20 Marzo 2017, 22:44 PM
Ya lo he solucionado, simplemente cree otro grid layout para acomodar en el ambos gridLayout  ;-)