Hola,
Posiblemente, JOptionPane tiene la particularidad de poder extender su funcionamiento creando una instancia del mismo, sin usar los métodos estáticos, eso te permite modificar el diálogo completamente,
Código Java:
Ver original//
JDialog d
= p.
createDialog("Wait ..."); d.setLocation(getWidth(), getY());
d.setModalityType(ModalityType.MODELESS);
d.setVisible(true);
// .... do something (SwingWorker) ....
// d.dispose();
Saludos,