我正在开发一个从文本文件加载和保存数据的程序,我在加载和保存时询问用户一个带有 JFileChooser 的文件名。
这个问题是关于 save 对话框的:new JFileChooser().showSaveDialog();
。然后,用户可以在没有任何警告的情况下覆盖现有文件,这会是个问题。
关于如何解决这个问题的任何建议?我一直在寻找一些方法或选项,但我没有找到任何东西。
提前致谢。
最佳答案
感谢您的回答,但我找到了另一种解决方法,以这种方式覆盖 JFileChooser 的approveSelection():
JFileChooser example = new JFileChooser(){
@Override
public void approveSelection(){
File f = getSelectedFile();
if(f.exists() && getDialogType() == SAVE_DIALOG){
int result = JOptionPane.showConfirmDialog(this,"The file exists, overwrite?","Existing file",JOptionPane.YES_NO_CANCEL_OPTION);
switch(result){
case JOptionPane.YES_OPTION:
super.approveSelection();
return;
case JOptionPane.NO_OPTION:
return;
case JOptionPane.CLOSED_OPTION:
return;
case JOptionPane.CANCEL_OPTION:
cancelSelection();
return;
}
}
super.approveSelection();
}
}
我希望这对其他人有用。
关于java - 带有确认对话框的 JFileChooser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651494/