Hola:
En java hay dos tipos de ventanas secundarias que dejan bloqueadas la principal. Los JDialog y los JOptionPane. A los primeros tienes que ponerle el flag "modal" a true en el constructor para que bloqueen la ventana principal. Los segundos la bloquean nada más usarlos.
Un JDialog se usa cuando la ventana te la haces tú poniendo dentro los componentes (text fields, botones, etiquetas,...) que tú quieras.
Los JOptionPane se usan para ventanas ya preconstruidas para dar un error al usuario, pedirle un dato concreto, darle un aviso, pedir confirmación, etc.
Echa un ojo aquí
http://chuwiki.chuidiang.org/index.p...1logos_modales
Se bueno.