2013-03-06 30 views
0
JOptionPane.showMessageDialog(null, roll, "Dice Game", JOptionPane.INFORMATION_MESSAGE, die); 

當我運行這一點,我想知道,如果用戶點擊X這樣我就可以改變一個布爾值,卷是一個JTextArea,死是上角一個圖像圖標,null是我的佈局。返回如果用戶點擊X中的JOptionPane.showMessageDialog

問題是showMessageDialog是一個void方法。所以我無法檢查。謝謝。

我沒有JFrame,也不想要一個。

回答

3

ShowMessageDialog不是爲此設計的。它用於顯示消息,而不是獲取用戶反饋。您應該使用showConfirmDialog作爲您的目的,因爲它確實是您想要的:單擊X按鈕就像使用「取消」按鈕。

如果你真的不想要一個取消按鈕,然後你必須創建自己的JDialog其實你可以使用JOptionPane.showOptionDialog:

int result = JOptionPane.showOptionDialog(null, roll, "Dice Game", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, die, new Object[] { "OK"}, null); 

result將爲0,如果用戶按OK, -1如果用戶用X按鈕關閉對話框。

+0

感謝這工作!有沒有辦法使用JOptionPane來創建一個可以有圖像圖標的輸入?謝謝您的幫助。 – MeryXmas 2013-03-06 21:26:35

0

消息對話框用於向用戶顯示消息,因此使用「OK」消除消息或使用「X」消除消息之間不應該存在語義差異。

如果您正在查找輸入,可能需要確認對話框,它將返回一個int

0

爲什麼你需要那個?消息對話框是一個信息對話框,不需要檢測哪個按鈕被按下(OK或X)。

相關問題