Java 提示保存对话框的更简单方法
我有一个程序,当按下编辑按钮时,窗口进入“编辑模式”,你可以随意更改字段,然后当你按下保存按钮时,它会保存你所做的事情。如果您处于编辑模式,请按我希望的方式,然后按另一个按钮,我希望弹出一个对话框,询问您是否要保存(是/否) 现在,如果它处于“编辑”模式,我会提示它保存,如果用户按“是”,它将保存文件,如果按了其他任何按钮,它将执行按钮应该执行的操作 这就是我目前拥有的。我想知道是否有一个更简单的方法来做这件事,而不是把按钮的行动在那里两次Java 提示保存对话框的更简单方法,java,swing,Java,Swing,我有一个程序,当按下编辑按钮时,窗口进入“编辑模式”,你可以随意更改字段,然后当你按下保存按钮时,它会保存你所做的事情。如果您处于编辑模式,请按我希望的方式,然后按另一个按钮,我希望弹出一个对话框,询问您是否要保存(是/否) 现在,如果它处于“编辑”模式,我会提示它保存,如果用户按“是”,它将保存文件,如果按了其他任何按钮,它将执行按钮应该执行的操作 这就是我目前拥有的。我想知道是否有一个更简单的方法来做这件事,而不是把按钮的行动在那里两次 if (editing) { save
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...
}
这是正确的方法,但您应该将
showConfirmDialog()
的结果与JOptionPane
常量进行比较:
if (save == JOptionPane.YES_OPTION) {
// ...
}
不仅其他人可以更好地阅读它,而且如果有一天更改常量,您的代码仍然可以工作(但可能性很小)。您可以将按钮操作放在其他方法中,如下所示:
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();
}
一开始我打算这么做,但我不知道初始化为什么。现在我有了“另存为int”选项。访问常量时不必初始化它(如
JOptionPane.YES\u选项
)。它是一个公共静态final int