Hola:
Dos opciones.
El JDialog debe tener como padre (parámetro en el new) el JFrame. De esta forma, el JDialog estará siempre visible por encima del JFrame.
Segunda opción. Si quieres que el JDialog esté totalmente dentro del JFrame (escritorio) y no se salga y en el escritorio tienes un hueco vacío lo suficientemente grande como para contener ese JDialog, en vez de JDialog debe ser JInternalFrame y en el JFrame debes tener un JDesktopPane, que es el componente que contendrá al JInternalFrame
http://chuwiki.chuidiang.org/index.p...JInternalFrame
Se bueno.