4

JOptionPane と yes および no ボタンを取得しました。ただし、どのボタンをクリックしても、まだ存在します。ヘルプ!コードは次のとおりです。

int dialogButton = JOptionPane.YES_NO_OPTION;
            JOptionPane.showConfirmDialog (null, "Are you sure?","WARNING", dialogButton);
            if(dialogButton == JOptionPane.YES_OPTION) {
                System.exit(0);
            if(dialogButton == JOptionPane.NO_OPTION) {
                  remove(dialogButton);
                }
              }
4

6 に答える 6

21

オプションペインから実際に結果を取得する必要があります。

dialogButton = JOptionPane.showConfirmDialog (null, "Are you sure?","WARNING", dialogButton);

それ以外の場合は、に設定されたままになりJOptionPane.YES_NO_OPTIONます。

クリーナーは次のようになります。

if (JOptionPane.showConfirmDialog(null, "Are you sure?", "WARNING",
        JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
    // yes option
} else {
    // no option
}

ただし、投稿されたコードでこの行が何をすることが期待されているかはわかりません: remove(dialogButton);.

詳細と例については、ダイアログの作成方法のチュートリアルをご覧ください。

于 2013-04-06T16:16:59.253 に答える
3
int dialogButton = JOptionPane.showConfirmDialog (null, "Are you sure?","WARNING",JOptionPane.YES_NO_OPTION);

if(dialogButton == JOptionPane.YES_OPTION) {
System.exit(0);}else {remove(dialogButton);}

これが正解です!

于 2015-06-28T06:58:19.993 に答える
1

コードを次のように変更します

int dialogButton = JOptionPane.showConfirmDialog (null, "Are you sure?","WARNING", dialogButton);

于 2013-04-06T16:18:08.950 に答える
0
if(dialogButton == JOptionPane.YES_OPTION) { // <<< start
    System.exit(0);
        if(dialogButton == JOptionPane.NO_OPTION) {
            remove(dialogButton);
        }
}// <<< stop

if結果は、外側が他のステートメントを囲んでいるという事実によって引き起こされifます。次のifステートメントにならないようにしてください。次のようにする必要があります。

if(dialogButton == JOptionPane.YES_OPTION) {
    System.exit(0);
}else {
    remove(dialogButton);
}

別のものはこの行ですint dialogButton = JOptionPane.YES_NO_OPTION;、それをに変更します

int dialogButton = JOptionPane.showConfirmDialog (null, "Are you sure?","WARNING", dialogButton);
于 2013-04-06T16:19:33.607 に答える