2015-10-07 53 views
0

因此,我已經在這段代碼上呆了大約一個星期了,我想讓代碼在用戶選擇「否」或「取消」時發送錯誤消息,但是我得到一個錯誤,告訴我NO和CANCEL不是變量。有沒有人對我如何克服這個問題有任何建議?我可以在java中使用帶有消息對話框的IF語句嗎?

int mc = JOptionPane.QUESTION_MESSAGE; 
    int bc = JOptionPane.YES_NO_CANCEL_OPTION; 

    int ch = JOptionPane.showConfirmDialog (null, "Select:", "Title", bc, mc); 

    if (bc == NO) 
    { 
     JOptionPane.showInputDialog("Sorry, you cannot continue without agreeing to the rules."); 
    } 
    else if (bc == CANCEL) 
    { 
     JOptionPane.showInputDialog("Sorry, you cannot continue without agreeing to the rules."); 
    } 
    else 
    { 
     JOptionPane.showInputDialog("Thank you, you may continue!"); 
    } 
+3

'='用於分配。使用'=='來比較 – Reimeus

+1

你認爲什麼是「否」和「取消」? – Tom

+0

bc的值應該來自用戶的輸入並將其類型轉換爲任何「NO」和「CANCEL」,然後您可以使用該類型的函數來比較這些值。 –

回答

1

這全部解釋爲in the JOptionPane Javadoc

在這你給的代碼,你已經點擊了由返回值從showConfirmDialog標識的按鈕,你已經分配給ch,不bc。在你的情況下,邏輯應該是

if (ch == JOptionPane.NO_OPTION) { 
    ... 
} 
else if (ch == JOptionPane.CANCEL_OPTION) { 
    ... 
} 
else { 
    ... 
} 
+0

完美的工作,非常感謝你,我以前工作過,但它墜毀在我身上,希望它不會再這樣做! – TiaC

相關問題