0

編集ボタンを押すと、ウィンドウが「編集モード」になり、フィールドを好きなように変更でき、保存ボタンを押すと、行ったことを保存するプログラムがあります。編集モードで別のボタンを押すと、保存するかどうかを尋ねるダイアログ ボックスが表示されます (はい/いいえ)。

現在、「編集」モードの場合は保存を求めるプロンプトが表示され、ユーザーが「はい」を押すとファイルが保存され、他の何かが押された場合は、ボタンが実行するはずのことが実行されます。

これは私が現在持っているものです。ボタンのアクションを2回入れる代わりに、これを行う簡単な方法があるかどうか知りたいです。

if (editing) {
        save = JOptionPane.showConfirmDialog(this, "Would you like to save?", "Save",
            JOptionPane.YES_NO_OPTION);

        if (save == 0) {
            saveFile();
        } else {
            //Button actions here...
        }
} else {
    //Button actions here...
}
4

2 に答える 2

1

showConfirmDialog()それは正しい方法ですが、の結果をJOptionPane定数と比較する必要があります。

if (save == JOptionPane.YES_OPTION) {
  // ...
} 

他の人が読みやすくなるだけでなく、ある日定数が変更された場合でもコードは機能します (ただし、そうなる可能性はほとんどありません)。

于 2012-10-10T14:12:43.893 に答える
1

次のように、ボタン アクションを別のメソッドに配置できます。

private void buttonActions() {
    // Button actions here...
}

その後

if (editing) {
    save = JOptionPane.showConfirmDialog(this, "Would you like to save?", "Save",
        JOptionPane.YES_NO_OPTION);

    if (save == JOptionPane.YES_OPTION) {
        saveFile();
    } else {
        buttonActions();
    }
} else {
    buttonActions();
}
于 2012-10-10T14:20:42.080 に答える