2014-03-25 116 views
0

我已經創建了JOptionPane來顯示簡單的是/否對話框。但我不知道如何配置我的是/否按鈕輸出。如何配置java消息框按鈕

public static void button1(){ 

    //Custom button text 
Object[] options = {"Yes", 
        "No",}; 

int n = JOptionPane.showOptionDialog(frame, 
"Do you want cake? ", 
"Cake", 
JOptionPane.YES_NO_OPTION, 
JOptionPane.QUESTION_MESSAGE, 
null, 
options, 
options[1]); 

} 

所需的輸出:

JOptionPane box prompt Yes and No button 
if user mouse click ok button display system.out.printf("I Like Cake, Yes") 
otherwise system.out.printf("I dont like cake, no") 

我當前的代碼只顯示默認yes和no按鈕的JDialog消息。但目前沒有有意義的功能。

我的教程參考:Oracle Java

+1

這是否意味着消息框正在工作,但是單擊yes/no後的消息不會顯示。 **或** **清楚地解釋它,如果其他東西 – Prakash

+1

我想創建一個消息框,確定按鈕,沒有按鈕。確定按鈕將只輸出「我喜歡蛋糕」的聲明。對於沒有按鈕,「我不喜歡蛋糕」。當前的代碼,我點擊確定或沒有按鈕後,它將退出。謝謝你的慰問。 –

+1

我剛學習如何從oracle教程創建java消息框,但我仍然不清楚如何將按鈕 –

回答

2

使用showConfirmDialog,這一翻譯的showOptionDialog

import javax.swing.JOptionPane; 

public class TestDialog { 
    public static void main(String[] args) { 
     int cake = JOptionPane.showConfirmDialog(null, 
      "Do you want Cake?", "Cake", JOptionPane.YES_NO_OPTION); 

     if (cake == JOptionPane.YES_OPTION) { 
      System.out.println("I Like Cake, Yes"); 
     } else if (cake == JOptionPane.NO_OPTION) { 
      System.out.println("I dont like cake, no"); 
     } 
    } 
} 

看看JOptionPane API。他們給出不同的示例用法showXxxDialog

+0

是的,你的答案更加整潔和結構化。你的代碼應該被視爲答案。 –

+0

@Prakash誰說OP想要的值不是yes/no? –

+0

@peeskillet ooops !!抱歉!!! – Prakash

3

最後在您的功能中添加此代碼。

if (n == 0) { 
     System.out.println("I Like Cake"); 
    } else if (n == 1) { 
     System.out.println("I dont like cake"); 
    } 
+0

哦,所以實際上Joptionpane按鈕將返回0或1.現在一切都很清晰。謝謝@Prakash –

+1

不是Joptionpane.It是一個類。它的方法showOptionDialog返回值。對於Joptionpane類中的其他方法,如showInputDialog,showMessageDialog方法,返回的數據類型不同。 – Prakash

+1

好的。我會就此做一些研究。 –