0

我有一个程序,当按下编辑按钮时,窗口进入“编辑模式”,您可以随意更改字段,然后当您按下保存按钮时,它会保存您所做的事情。我想要的方式,如果您处于编辑模式,然后按另一个按钮,我想要一个对话框来询问您是否要保存(是/否)。

现在,如果它处于“编辑”模式,我会提示保存,如果用户按下是,它将保存文件,如果按下其他任何东西,它将执行按钮应该执行的操作。

这就是我目前所拥有的。我想知道是否有更简单的方法来执行此操作,而不是将按钮的操作放在那里两次。

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()JOptionPaneconstant 的结果:

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

不仅其他人可读性更好,而且如果有一天更改了常量,您的代码仍然可以工作(但是不太可能)。

于 2012-10-10T14:12:43.893 回答
1

您可以将 Button 操作放在另一种方法中,如下所示:

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 回答