Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] llamar metodo de JinternalFrame (padre) desde un jdialog (hijo)

Estas en el tema de llamar metodo de JinternalFrame (padre) desde un jdialog (hijo) en el foro de Java en Foros del Web. Gente como va?... espero que bien.. bueno. despues de renegar mas de 8 horas.. bucear en google como nadie.. sigo parado en el mismo lugar... ...
  #1 (permalink)  
Antiguo 05/02/2014, 18:20
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 10 meses
Puntos: 21
llamar metodo de JinternalFrame (padre) desde un jdialog (hijo)

Gente como va?... espero que bien..

bueno. despues de renegar mas de 8 horas.. bucear en google como nadie.. sigo parado en el mismo lugar... a ver si la pegamos..

explico.

tengo una aplicacion mdi donde tengo yn Jframe (principal) dentro de este hay un jdesktoppane, dentro de este hay un jinternalframe el cual abre un jdialog form.

hasta aca todo bien.. en el jinternal hay un jtable con una lista de usuarios.
y el jdialog contiene un formulario que ingresa un nuevo usuario.

la idea es que cuando el jdialog guarde los datos.. se cierre (esto esta) y luego de cerrarse o antes.. actualice el jtable del Jinternal frame. para asi poder mostrar el nuevo usuario.

para abrir el jdialog uso lo siguiente

Código:
    private void abreFormulario() {
            
        
        frmUsuariosAgregar agregarUsuarios = frmUsuariosAgregar.getInstance();
        
        
       
       if(agregarUsuarios!=null){
          
             
            agregarUsuarios.setLocationRelativeTo(this);
            
           
            agregarUsuarios.comboPerfil.setSelectedIndex(0);
            Utilidades.limpiarCampos(agregarUsuarios.pnUsuarios1);
            agregarUsuarios.enviado=false;
            agregarUsuarios.setVisible(true);
           
         
           
       }


    }

y en el jdialog esta esto.

Código:

 public static frmUsuariosAgregar getInstance() {
        if (frmUsuariosAgregarInstance == null) {
            frmUsuariosAgregarInstance = new frmUsuariosAgregar(null, true);
        }
        return frmUsuariosAgregarInstance;
    }
esto es para que el dialog se abra una sola vez. el tema es que el jdialog no acepta un internalframe como padre..

tambien probe poniendo el addwindowListener en la la llamada al jdialog.. pero nada..

agradezco mucho su ayuda.
  #2 (permalink)  
Antiguo 06/02/2014, 09:49
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 10 meses
Puntos: 21
Respuesta: llamar metodo de JinternalFrame (padre) desde un jdialog (hijo)

Bueno... para quien este intentando hacer lo mismo.. les digo.. que estoy casi seguro de que no se puede...

por lo cual.. busque otra alternativa.. es el joptionpane... mas o menos seria asi..

usamos un jpanel... ahi armamos el formulario.. luego desde el jinternalframe abrimos un joptionpane.showOptionDialog y tyomamos las respuestas desde este mismo. quedaria algo asi..

Código:
private void abreFormulario() {

//isHayAgregar() es un metodo que getea un flag si hay o no.. por que el getinstance no me funciono con el joptionpane


       

        if (!isHayAgregar()) {
            setHayAgregar(true);
 pnUsuariosAgregar agregarUsuarios = new pnUsuariosAgregar();

            int rta = JOptionPane.showOptionDialog(
                    this.getParent(),
                    agregarUsuarios,
                    "Agregar Usuario",
                    JOptionPane.DEFAULT_OPTION,
                    JOptionPane.PLAIN_MESSAGE,
                    null,
                    new String[]{"Guardar Usuario"},
                    "default");

            
            
            if (rta == JOptionPane.YES_OPTION) {
               //si acepto ejecutamos funciona aca
                setHayAgregar(false);
            } else if (rta == JOptionPane.NO_OPTION) {
                //si no acepto ejecutamos funciona aca
                setHayAgregar(false);
            }else if(rta == JOptionPane.CLOSED_OPTION){
             //si cerro va aca.. 
            JOptionPane.showMessageDialog(null, "aborto");
            setHayAgregar(false);
            }



        }


    }

solo me quedaria ver de confirmar cuando quieren cerrar. para no perder datos

abrazo.. gracias
  #3 (permalink)  
Antiguo 07/02/2014, 09:20
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 10 meses
Puntos: 21
Respuesta: llamar metodo de JinternalFrame (padre) desde un jdialog (hijo)

gente ... lo del joptionpane no me sirvio por que no podia validar los campos antes de que se cierre... perooooo.. miran este video.. y explica como hacer lo que necesitaba del primer post.
  #4 (permalink)  
Antiguo 07/02/2014, 12:38
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 16 años
Puntos: 13
Respuesta: llamar metodo de JinternalFrame (padre) desde un jdialog (hijo)

Hola,

No entiendo por qué no usas un listener en el JInternalFrame.... algo así:

Código Java:
Ver original
  1. miJDialog.addWindowListener(new WindowAdapter() {
  2.     @Override
  3.     public void windowClosed(WindowEvent e) {
  4.         refrescarUsuarios();
  5.     }
  6. });
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #5 (permalink)  
Antiguo 12/02/2014, 13:20
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 10 meses
Puntos: 21
Respuesta: llamar metodo de JinternalFrame (padre) desde un jdialog (hijo)

lo intenete pero por algn motivo que ahora no recuerdo.. no me sirvio. pero vale el apunte para otro caso.

Etiquetas: jdialog, jinternalframe, metodo, padre
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:21.