So wie ich das sehe, geht das nicht so ohne weiteres.
Im Code wird letztlich die private Routine
createDialog(Component parentComponent, String title, int style) aufgerufen. der Dialog für die Optionen wird jedesmal dort erzeugt, ist also local und macht ein
Code:
dialog.pack();
dialog.setLocationRelativeTo(parentComponent);
createDialog retuniert zwar den Dialog aber der wird von den aufrufenden Routinen nicht weitergegeben.
Um absolute Kontrolle zu haben, die Du meiner Meinung nach nicht brauchst, müsstest Du JOptionPane ableiten und dann entsprechend Deinen Wünschen erweitern, bzw die ein oder andere erreichbare Routine überschreiben.
Dort, wo du eine Null übergibst, ist ein Parentfenster angebbar. Damit wird erreicht, dass sich der JOption-Dialog wie schon im Code zu sehen relativ sich dazu anlagert. Ist das Parent nicht gegeben also null ist der JOptionDialog in der MItte, kann aber, wenn ich mich recht entsinne, von der eigetnlichen Anwendung überdeckt werden.
Normalerweise würde ich einem JOption-Dialog das Anwendungshauptfenster mitgeben, damit eine Überdeckung nicht passiert.
Takidoso