Hola:
Hay varias soluciones, según lo compleja que sea la ventana secundaria.
Haces una ventana secundaria (clase hija de JDialog) en la que se muestren los valores que se tienen que elegir o en el que el usuario tiene que poner los datos. Ponle un método getDatos() que devuelva los datos seleccionados por el usuario. Puede ser un array si neceistas devolver muchos datos.
En la ventana principal, abres la ventana secundaria y te suscribes a su cierre con algo asi
ventanaSecundaria.addWindowListener ( ...)
En el WindowListener que añadas, redefine el método windowClosing() para que haga pida el getDatos() a la ventana secundaria y haga con ellos lo que quieras.
Para hacerlo un poco mejor, en el JDialog secundarios puedes poner un par de botones de "Aceptar" y "Cancelar". En vez de añadir un addWindowListener(), deberías añadir un addActionListener() al botón de "Aceptar".
Y finalmente, otra opción para rizar el rizo, si el dato que tienes que pedir es un dato tonto que puedas elegir de un JComboBox, la clase JOptionPane te lo hace todo solita, no tienes que crear ventana secundaria. Basta algo como esto
int valorElegido = JOptionPane.showOptionDialog (....);
Entre los parámetros pasarás un array de valores a mostrar y esto te devuelve el indice del array que el usuario a elegido.
Se bueno.