JFileChooser.showSaveDialog(...) - как установить предлагаемое имя файла
Кажется, что раздутый JFileChooser отсутствует одна функция: способ предложить имя файла при сохранении файла (вещь, которая обычно выбирается так, что она будет заменена, когда пользователь начнет печатать).
Есть ли способ обойти это?
Ответ 1
Если вы правильно поняли, вам нужно использовать метод setSelectedFile.
JFileChooser jFileChooser = new JFileChooser();
jFileChooser.setSelectedFile(new File("fileToSave.txt"));
jFileChooser.showSaveDialog(parent);
Файл не должен существовать.
EDIT: Если вы передадите файл с абсолютным путем, JFileChooser попытается поместить себя в этот каталог (если он существует).
Ответ 2
setSelectedFile не работает с каталогами, как указано выше, решение
К сожалению, setFileName не входит в интерфейс UI, поэтому необходимо назвать его динамически. Проверено только на mac.
Ответ 3
Если это не сработает, вот обходной путь:
dialog.getUI().setFileName( name )
Но вы должны проверить, есть ли режим выбора FILES_ONLY или FILES_AND_DIRECTORIES. Если он DIRECTORIES_ONLY, то setSelectedFile() будет лишать имя файла.
Ответ 4
Отлично! Прекрасно работает в Windows с Java 1.6.35. Только небольшое изменение в моем случае: