Detectar cierre de un JDialog desde un JFrame padre

Iniciado por d91, 6 Abril 2018, 13:43 PM

0 Miembros y 1 Visitante están viendo este tema.

d91

Hola a todos, estoy tratando de detectar el evento de cierre de un JDialog desde un JFrame padre, pero no lo he logrado. Aunque el verdadero fin es tratar de acceder al UI del JFrame padre desde el JDialog hijo desde otro hilo pero no he podido. Les dejo el trozo de codigo talvez alguien me pueda ayudar
Código (java) [Seleccionar]

final Toolkit toolkit = Toolkit.getDefaultToolkit();
        final Dimension screenSize = toolkit.getScreenSize();
       
        FinalizadoJDialog finalizadoTask = new FinalizadoJDialog(this, true);
       
        final int x = (screenSize.width - finalizadoTask.getWidth()) / 2;
        final int y = (screenSize.height - finalizadoTask.getHeight()) / 2;
        finalizadoTask.setLocation(x,y);
        finalizadoTask.setVisible(true);
       
        finalizadoTask.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosed(WindowEvent e) {
                System.out.println("Closed");
                super.windowClosed(e); //To change body of generated methods, choose Tools | Templates.
               
            }

            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("Closing");
                super.windowClosing(e); //To change body of generated methods, choose Tools | Templates.
               
            }
           
        });



srWhiteSkull

Cuando instancies un hijo pásale por el constructor la referencia del padre. Si quieres que el padre sea informado simplemente crea un método o función en el padre y llámalo con la referencia susodicha desde el hijo.

class padre {
public void elHijoCerro(){}

...
..
new Hijo(this);

}

class Hijo {

// en el constructor
Hijo(Padre padre)
this.padre=padre;

// en el evento de cerrar del hijo
this.padre.elHijoCerro();
...

}