2009-11-10 11 views
6

मैं सोच रहा हूं कि के साथ खोले जाने पर नए QUESTION_WITH_CANCEL संवाद प्रकार का उपयोग कैसे करें।QUESTION_WITH_CANCEL के साथ MessageDialog.open() का उपयोग कैसे करें?

के बाद से खुला विधि बूलियन लौटा रहा है और अब हम हाँ से 3 संभव राज्य है, नहीं, या रद्द

उत्तर

13

आप स्थिर विधि MessageDialog.open(bunch of parameters) उपयोग नहीं कर सकते, तो आप बनाना होगा डायलॉग करें और गैर-स्थैतिक open() स्वयं को इसके वापसी मूल्य की जांच करने के लिए कॉल करें।

MessageDialog dg = new MessageDialog(
      window.getShell(), 
      "My title", 
      null, 
      "My question", 
      MessageDialog.QUESTION_WITH_CANCEL, 
      new String[]{ 
       IDialogConstants.YES_LABEL, 
       IDialogConstants.NO_LABEL, 
       IDialogConstants.CANCEL_LABEL}, 
      0 
      ); 
    switch(dg.open()) { 
    case 0: 
     //yes 
     System.out.println("yes"); 
     break; 
    case 1: 
     //no 
     System.out.println("no"); 
     break; 
    case 2: 
     //cancel 
     System.out.println("cancel"); 
     break; 
    } 
+0

मैं इसे आज़मा दूंगा। –

+0

क्या यह अपेक्षित के रूप में काम करता था? – Jerome

+0

बटन अजीब क्रम में हैं (ग्रहण 3.5.2): हां नहीं रद्द करने के बजाए कोई रद्द नहीं हाँ। मैं उन्हें "दाएं" क्रम में कैसे बना सकता हूं? – dplass

0

JavaDoc को देखते हुए, मेरा मानना ​​है कि नहीं और रद्द ही प्रभाव है: झूठी

Returns: 
    true if the user presses the OK or Yes button, false otherwise 
+0

मुझे इतना पता है, लेकिन यह सवाल मैंने नहीं पूछा है। मुझे QUESTION_WITH_CANCEL संवाद का उपयोग करने की आवश्यकता है। अगर मुझे केवल मानक हां/नहीं चाहिए, तो मैं मानक पुष्टि संवाद का उपयोग करता। –

संबंधित मुद्दे