Recuerda que el JDialog es para mostrar la ventana, no se puede utilizar add.
Para evitar que se consuma memoria al crear el JDialog, yo lo que hago es declarar el JDialog asi:
Código:
private jFrmVentana frmVentana;
y despues solo creo una instancia de la ventana:
y al final se hace visible:
Código:
frmVentana.setVisible(true);