Ovviamente dovrai controllare il valore di "n", che sarà l'indice dell'array "options" corrispondente alla scelta fatta. Quindi, nel tuo caso, 0 se è stato scelto "Yes, please", 1 se è stato scento "No, thanks", 2 se è stato scelto "No eggs, no ham!". Viene restituito il valore JOptionPane.CLOSED_OPTION se l'utente ha chiuso la dialog senza scegliere nulla.

Il tutto, banalmente, con uno switch:

codice:
int n = JOptionPane.showOptionDialog( ... );
switch( n ) {
   case 0:   // E' stato scelto "Yes, please"
      ...   // Fai quel che devi
      break;

   case 1:   // E' stato scelto "No, thanks"
      ...   // Fai quel che devi
      break;

   case 2:   // E' stato scelto "No eggs, no ham!"
      ...   // Fai quel che devi
      break;

   case JOptionPane.CLOSED_OPTION:   // L'utente ha chiuso la dialog, non ha scelto nulla
      ...   // Fai quel che devi
      break;
}

Per personalizzare l'icona basta passargli questa icona personalizzata (un oggetto Icon) come sesto argomento. L'oggetto Icon lo ricavi come vuoi.


Ciao.