3
JavaアプリケーションでJFileChooserを使用しています。選択したファイルがすでに存在する場合、ファイルを上書きするかどうか尋ねる必要がありますか?JFileChooserと上書きを確認する
使用できる機能はありますか?または自分のロール?私はSwingとJDK 1.4を使用しています
JavaアプリケーションでJFileChooserを使用しています。選択したファイルがすでに存在する場合、ファイルを上書きするかどうか尋ねる必要がありますか?JFileChooserと上書きを確認する
使用できる機能はありますか?または自分のロール?私はSwingとJDK 1.4を使用しています
デフォルトのものにはその機能がありません。あなた自身で作成する必要があります。またはsomeone else'sを使用してください。
private class CustomFileChooser extends JFileChooser {
private String extension;
public CustomFileChooser(String extension) {
super();
this.extension = extension;
addChoosableFileFilter(new FileNameExtensionFilter(
String.format("%1$s Images (*.%1$s)", extension), extension));
}
@Override public File getSelectedFile() {
File selectedFile = super.getSelectedFile();
if (selectedFile != null) {
String name = selectedFile.getName();
if (!name.contains("."))
selectedFile = new File(selectedFile.getParentFile(),
name + '.' + extension);
}
return selectedFile;
}
@Override public void approveSelection() {
if (getDialogType() == SAVE_DIALOG) {
File selectedFile = getSelectedFile();
if ((selectedFile != null) && selectedFile.exists()) {
int response = JOptionPane.showConfirmDialog(this,
"The file " + selectedFile.getName() +
" already exists. Do you want to replace the existing file?",
"Ovewrite file", JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE);
if (response != JOptionPane.YES_OPTION)
return;
}
}
super.approveSelection();
}
}
[JFileChooserと確認ダイアログ付き]の複製(http://stackoverflow.com/questions/3651494/jfilechooser-with-confirmation-dialog) – Suma