Hola:
En tu post inicial ponías que ventana es el JFrame. En el código de ahora ventana es el ContentPane del JFrame. Al JDialog debes pasarle el JFrame en el constructor.
En cuanto a dialog.setLocationReativeTo() debería funcionar si el JFrame está visible (si no lo está, el JDialog saldrá centrado en pantalla). Eso sí, lo que sale centrado sobre el JFrame es la esquina superior izquierda del JDialog. Prueba el siguiente código
Código java:
Ver originalpublic static void main
(String[] args
) { v.setLocation(200, 200);
v.setSize(100, 100);
v.setVisible(true);
d.setLocationRelativeTo(v);
d.setVisible(true);
}
se bueno.