con el screenshot entendería mejor pero te doy una opción.
hay una clase Javax.swing.timer a esta le pasas de parámetro un actionListener(así como lo haces con cualquier evento del mouse o teclado) y un Long que es un tiempo en milisegundos, entonces puedes activar este timer y en el actionPerformed poner algo como esto
dialog.setVisible(false);
//capturas la pantalla con robot normalmente
dialog.setVisible(true);
dialog.requestFocus();
ya lo demás es lo que sea q estes haciendo con con ese dialog pruebalo y me dices si te funciona.