2009-08-10 21 views
8

Potrzebuję zrobić niestandardowe okno dialogowe z 4 opcjami, ale o ile mogę powiedzieć, że możesz mieć tylko jedno z trzema opcjami. Oto w jaki sposób mogę dokonać okienko opcji z 3 opcji:Tworzenie JOptionPane z 4 opcjami

 Frame refFrame = DialogUtils.getReferenceFrame(); 

     ///TODO: 
     /// - Use DialogUtils 
     int option = JOptionPane.showOptionDialog(refFrame, 
      msg, 
      rsc.str("918"), 
      JOptionPane.YES_NO_CANCEL_OPTION, 
      JOptionPane.INFORMATION_MESSAGE, 
      DialogUtils.INFO_ICON, 
      options, 
      options[0]); 

Ale nie mogłem znaleźć jakiegoś otwartego zakończył zastępstwie YES_NO_CANCEL_OPTION. Czy istnieje sposób, aby umożliwić JOptionPane cztery opcje?

Odpowiedz

14

Można użyć dowolnego stałych Opcja JOptionPane jest, wystarczy dostarczyć szereg opcji Rozmiar 4:

public static void main(String[] args) { 
    String[] options = new String[] {"Yes", "No", "Maybe", "Cancel"}; 
    int response = JOptionPane.showOptionDialog(null, "Message", "Title", 
     JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, 
     null, options, options[0]); 

    // Where response == 0 for Yes, 1 for No, 2 for Maybe and -1 or 3 for Escape/Cancel. 
} 
1

Wystarczy użyć options tablicę o rozmiarze 4 zamiast 3 ...