Ayuda JFrame a otro JFrame

Publicado en 'Programación' por celsoxvi, 1 Jun 2011.





  1. celsoxvi

    celsoxvi Miembro de bronce

    Registro:
    1 Mar 2009
    Mensajes:
    1,196
    Likes:
    72




    Bien es un Sistema pequeño lo que estoy haciendo bien, Tiene un Panel Principal y 2 Botones, El cual el Primer Botón me lleva al Registro de Clientes y el Segundo me lleva a la Tabla, todo se trabaja a nivel memoria NO BD, ahora si es que yo registro Clientes y pongo visible la Tabla. ahí me aparecen normal los datos, ahora cuando cierro el registro y me voy al menú principal y hago click en la Tabla ya los datos no están, se han perdido, mi idea seria llevar los datos del Registro Cliente al menú principal y que ahí se almacenen, para que no sea volátil al momento de cerrarlo. ¿o que consejo me das?
     
    Última edición: 1 Jun 2011


  2. EruKun

    EruKun Miembro maestro

    Registro:
    15 Nov 2008
    Mensajes:
    254
    Likes:
    10
    crear una clase extends jframe(la que se va abrir con el botón) y hacer un constructor con parámetros que quieres pasar. En el jframe principal a la hora de crear/abrir el jframe nuevo haces algo así MiJFrame mjf = new MiJFrame(datosAPasar); así creo que funciona creo... o entendi mal xD
     
    Última edición: 1 Jun 2011
  3. celsoxvi

    celsoxvi Miembro de bronce

    Registro:
    1 Mar 2009
    Mensajes:
    1,196
    Likes:
    72
    Haber tenemos 3 JFrames, Uno que es el Menu Principal, Otro el Registro de Usuario y la Lista de Usuarios, Si por ejemplo Agrego un Usuario este se tiene que llenar en la Lista de Usuarios, Ahora, si por ejemplo yo quiero ver la lista de usuarios, Entonces yo voy y hago click en el Boton de Lista de Usuarios, pero ahi hay un problema ya que los datos se destruyen si es que cierro o cambio de lado, y bueno mi idea es pasar todos esos datos a la memoria, osea trabajarlos en el menu principal, guardarlos en un arreglo pero no se como hacer ello o algo parecido.
     
  4. celsoxvi

    celsoxvi Miembro de bronce

    Registro:
    1 Mar 2009
    Mensajes:
    1,196
    Likes:
    72
    Bueno, quiero aclarar nuevamente la idea del programa ya que lo estoy empezando a programar, la idea es que los datos para que no se pierdan se guarden en arreglos en el Frame del Menú Principal ya que nunca se Cierra y por ende nunca se Pierde. bien ya los tengo guardados en arreglos y están en el Frame Menú Principal, Pero ahora como es que por medio de ese Método en donde esta guardados los Datos los pueda sacar y asignarlos al JTable que esta en un JFrame aparte. No se si me dejo Entender.
     
  5. EruKun

    EruKun Miembro maestro

    Registro:
    15 Nov 2008
    Mensajes:
    254
    Likes:
    10
    Una forma que pense sería pasar toda la clase jframe con un constructor[algo así: VentanaRegistro vr = new VentanaRegistro(this); vr.setVisible(true);], creo que eso si modifica directamente cualquier cosa del jframe principal pero ineficiente.

    o con miembros static? aun que creo que es una mala practica hacer eso

    (Todo en NetBeans para hacerlo rápido con la herramienta del GUI)
    En el principal
    Código:
    //El arreglo estático que me hablas
        static ArrayList<String> Registros;
        //El registro que trae
        static  String temporal;
        //Método
        static public void definirTemporal(String s){
            temporal = s;
            System.out.println("Tengo: "+temporal);
            Registros.add(temporal);
        }
    
    En Registro esto
    Código:
     private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                               
            // TODO add your handling code here:
            reg = jCampo.getText();
            Principal.definirTemporal(reg);
            dispose();
        }                                              
    
    
    En listar

    Código:
    public class Lista extends javax.swing.JFrame {
        ArrayList<String> misRegistros;
        /** Creates new form Lista */
        public Lista(ArrayList<String> temporal) {
            initComponents();
            misRegistros = temporal; String cadena="";
            for(String a:misRegistros){
                cadena += a+'\n';
            }
            jTextArea1.setText(cadena);
        }
    
     
    Última edición: 2 Jun 2011
  6. celsoxvi

    celsoxvi Miembro de bronce

    Registro:
    1 Mar 2009
    Mensajes:
    1,196
    Likes:
    72
    Logre solucionarlo usando arreglo Bidimensional Seteando y geteando xD