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);
}
}
実際には、オプションペインから結果を取得する必要があります。
_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);
でこの行が何をするのかはわかりません。
詳細と例については、 ダイアログの作成方法 チュートリアルをご覧ください。
int dialogButton = JOptionPane.showConfirmDialog (null, "Are you sure?","WARNING",JOptionPane.YES_NO_OPTION);
if(dialogButton == JOptionPane.YES_OPTION) {
System.exit(0);}else {remove(dialogButton);}
これは正しいです!
コードをに変更します
int dialogButton = JOptionPane.showConfirmDialog (null, "Are you sure?","WARNING", dialogButton);
JOptionPaneを削除したい場合は、次のことができます。
optionPane.setVisible(false);
そうでない場合は、別の答えを見てください。
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);