Создание диалогового окна резервного копирования с помощью JFileChooser
Мы увидели  как открыть файл с помощью JFileChooser, Теперь, чтобы вызвать диалоговое окно для сохранения файла в Java, нам нужно вызвать метод showSaveDialog класса JFileChooser. Диалоговое окно сохранения выглядит точно так же, как и в открытии, за исключением заголовка окна и текста кнопки для подтверждения операции.Диалоговое окно сохранения отображается со следующими двумя строками кода:
final JFileChooser fc = новый JFileChooser();
//вызываем метод showSaveDialog
int valueour = fc.showSaveDialog(window);
Экземпляр JFileChooser одинаков для открытия и сохранения диалоговых окон, поэтому необходимо использовать один и тот же экземпляр. File chooser и избегайте создания нескольких версий.
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
импорт java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class SaveDialog {
public static void main(String[] args) {
final JFrame window = new JFrame();
window.setSize(200,200);
window.setLocationRelativeTo(null);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
JMenuBar jmb = новый JMenuBar();
JMenu jm = new JMenu("Ficher");
JMenuItem Save = new JMenuItem("Save");
jm.add(Сохранить);
jmb.add(jm);
window.add(jmb,BorderLayout.NORTH);
JFileChooser fc = new JFileChooser();
Save.addActionListener(new ActionListener() {
@Override
public void actionPerformance(ActionEvent arg0) {
// TODO Автоматически сгенерированный метод stub
int val_retour = fc.showSaveDialog(window);
if (val_retour == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//выводим абсолютный путь к файлу
System.out.println("Абсолютный путь: "+file.getAbsolutePath()+"\n");
} else {
System.out.println("Регистрация отменена\n");
}
}
});
}
}
Консоль:
Абсолютный путь: C:\Users\VAIO\Documents\CC++\test.txtВы можете изменить Режим выбора файлов. Например, следующая строка кода позволяет выбрать только папки в JFileChooser:
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);Другой режим выбора FILES_AND_DIRECTORIES. Настройка по умолчанию FILES_ONLY.
References
Oracle Doc:Как использовать выбор файлов
StackOverFlow:Как сохранить файл с помощью JFileChooser.showSaveDialog?