web-dev-qa-db-ja.com

JOptionPaneはいいいえオプション

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);
                }
              }
3
Naame Nameee

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

_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);でこの行が何をするのかはわかりません。

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

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

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

これは正しいです!

3
gus

コードをに変更します

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

1
Extreme Coders

JOptionPaneを削除したい場合は、次のことができます。

optionPane.setVisible(false);

そうでない場合は、別の答えを見てください。

0
user2921779
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);
0
tmwanik