经过一番谷歌搜索后,我没有看到这个出现太多。是否有一些“通用”方式强制用户选择“已经存在”的文件
我可以添加类似 http://coding.derkeiler.com/Archive/Java/comp.lang.java.help/2004-01/0302.html或带有确认对话框的 JFileChooser 之类的内容,但有一些规范的方法吗?
谢谢。
经过一番谷歌搜索后,我没有看到这个出现太多。是否有一些“通用”方式强制用户选择“已经存在”的文件
我可以添加类似 http://coding.derkeiler.com/Archive/Java/comp.lang.java.help/2004-01/0302.html或带有确认对话框的 JFileChooser 之类的内容,但有一些规范的方法吗?
谢谢。
首先,您需要检查您更好的选择是 chooser.showOpenDialog 还是 showSaveDialog
保存对话框将让您选择指定路径中的任何名称,它可能是不存在的文件,但打开将始终接受所选文件..您可以安全地添加 file.exists() 以确保文件存在。您还可以更改按钮的文本.. 对话框.. 等..
JFileChooser chooser = new JFileChooser();
chooser.setApproveButtonText("Save");
int result = chooser.showOpenDialog(null);
if(result == JFileChooser.APPROVE_OPTION){
File selection = chooser.getSelectedFile();
//verify if file exists
if(selection.exists()){
//you can continue the code here or call the next method or just use !exists and behavior for wrong file
}else{
//System.exit(0), show alert.. etc
}
}
听起来你想要一个“打开”行为,但一个确认按钮显示“保存”而不是“打开”。
您可以通过此方法执行此操作:http: //docs.oracle.com/javase/6/docs/api/javax/swing/JFileChooser.html#showDialog%28java.awt.Component,%20java.lang.String%29
为approveButtonText 参数传入“Save”。
就这么简单:
JFileChooser fc = new JFileChooser();
while(true)
{
if(fc.showSaveDialog(null) == JFileChooser.APPROVE_OPTION &&
!fc.getSelectedFile().exists())
JOptionPane.showMessageDialog(null, "You must select an existing file!");
else break;
}