想实现一个文件保存时检查的功能,文件已存在时弹出一个提示框(类似Execl中的"另存为"),但是用
if (retval == JFileChooser.APPROVE_OPTION)判断选择状态后,JFilechooser画面也关闭了,有什么方法使其不关闭吗?还是有其它的实现方法?
if (retval == JFileChooser.APPROVE_OPTION)判断选择状态后,JFilechooser画面也关闭了,有什么方法使其不关闭吗?还是有其它的实现方法?
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
jfc.setMultiSelectionEnabled(false);while (true) {
int r = jfc.showSaveDialog(null);
if (r == JFileChooser.APPROVE_OPTION) {
File file = jfc.getSelectedFile();
if (file.exists()) {
int t = JOptionPane.showConfirmDialog(null,
"File exists, overwrite?", "Overwrite?",
JOptionPane.YES_NO_OPTION);
if (t != JOptionPane.YES_OPTION) {
continue;
}
}
System.out.println(file);
break;
}
else {
break;
}
}
我试了一下,在调用"JOptionPane.showConfirmDialog(null,
"File exists, overwrite?", "Overwrite?",
JOptionPane.YES_NO_OPTION);"时,JFileChooser的画面还是没有了?是disable了吗?
ConfirmDialog和JFileChooser不能同时存在吗?
import javax.swing.JOptionPane;public class T {
public static void main(String[] args) {
JFileChooser jfc = new JFileChooser() {
public void approveSelection() {
File file = getSelectedFile();
if (file.exists()) {
int t = JOptionPane.showConfirmDialog(this,
"File exists, overwrite?", "Overwrite?",
JOptionPane.YES_NO_OPTION);
if (t != JOptionPane.YES_OPTION) {
return;
}
} super.approveSelection();
}
};
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
jfc.setMultiSelectionEnabled(false); int r = jfc.showSaveDialog(null);
if (r == JFileChooser.APPROVE_OPTION) {
File file = jfc.getSelectedFile();
System.out.println(file);
}
}
}
果然是高手呀,谢谢了!