2015-06-09 41 views
0

當某個動作發生時,我有一個JOptionPane集,我希望它是showMessageDialog,因爲它只顯示一條消息。我如何做到這一點,當你點擊確定或取消時,它會關閉整個應用程序?如何在JOptionPane.showMessageDialog上關閉?

這就是我把

JOptionPane.showMessageDialog(null, "you lose"); 
if (JOptionPane.OK_OPTION){ 
     System.exit(0); 
} 

,但它不工作。我基於它關閉的這段代碼我在網上找到:

int exit = JOptionPane.showConfirmDialog(mainFrame, "Are you sure?"); 

if (exit == JOptionPane.YES_OPTION) 
{ 
    try 
    { 
     Runtime.getRuntime().exec("cmd.exe /c start www.yahoo.com"); 
    } 
    catch (Exception exception) 
    { 
    } 
    System.exit(0); 
} 
else { 
} 

但是,這是一個確認對話框,我只是希望它的消息對話框工作。

我試着將JOptionFrame.showConfirmDialog改爲JOptionFrame.showMessageDialog,但它不起作用,因爲int和其他東西不得不被刪除。

感謝

+0

問題是'showMessageDialog'不回你什麼,不像'showConfirmDialog' – Gosu

回答

2

您可以使用ConfirmaDialog並使用INFORMATION_MESSAGE類型。

int exit = JOptionPane.showConfirmDialog(null, "Are you sure?" , null, JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE); 
if (exit == JOptionPane.YES_OPTION) 
{ 
    //Do smt 
} 

如果您將關閉該應用程序的任何方式,只是這樣做:

JOptionPane.showMessageDialog(null, "you lose"); 
System.exit(0); 

爲什麼要打擾,如果在任何情況下,你將關閉應用程序?

+0

大型機提供了一個錯誤:無法解析爲一個變量 –

+0

@RobBor剛剛編輯 –

+0

是它的工作。謝謝!它只是它看起來有點奇怪b/c我的按鈕的目的是通知他們丟失的球員,並通過點擊確定接受它,它關閉。這裏有一個取消選項,我認爲可以編碼來關閉應用程序,但它看起來像一個奇怪的設計選擇,你知道我的意思嗎?這真的沒有辦法解決嗎? –

0

試試這個:

int choice = JOptionPane.showConfirmDialog(null, "you lose", "title", JOptionPane.OK_CANCEL_OPTION); 
if (choice == JOptionPane.OK_OPTION || choice == JOptionPane.CANCEL_OPTION){ 
    System.exit(0); 
} 

感謝。

+0

是的這個工程!我只是說我上面寫的,它看起來有點奇怪b/c我按鈕的目的是通知玩家他們丟失了,並通過點擊OK接受它並關閉。這裏有一個取消選項,它被編碼來關閉應用程序,但它看起來像一個奇怪的設計選擇,你知道我的意思嗎?這真的沒有辦法解決嗎? –

+0

看看[這裏](http://stackoverflow.com/questions/11204878/joptionpane-showconfirmdialog-with-only-one-button) – m3nation