Як показати діалог "зберегти" з допомогою JFileChooser
Якщо вашій програмі потрібно зручно вказати положення файлу, папки або ж місцезбереження файлу, то для цих цілей Swing надає клас javax.swing.JFileChooser. Виклик діалогу збереження файлу схожого на той що використовується у віндовз, здійснюється через метод showSaveDialog():
Де parent - це батьківський компонент діалогу, переважно JFrame. Коли користувач введе ім'я файлу і натисне ОК або Cancel, метод повертає одне з наступних значень:
Після того як користувач здійснив свій вибір, ми можемо використати метод getSelectedFile() щоб взяти нам об'єкт файлу:
Перед викликом методу showSaveDialog(), ви можливо захочете встановити деякі опції для діалогу:
Приклад коду:
Можна встановити фільтр для задання розширень файлу:
Вікно може виглядати так:
В результаті отримали об'єкт File і можна створювати потоки вводу-виводу і записувати у файл використовуючи отриманий об'єкт File. Об'єкт File, хто ще не знає є дискриптором файлу і мабуть, основне що в ньому є - це адрес розміщення файлу і його назва.
При написанні було використано матеріали із codejava.net
Якщо вашій програмі потрібно зручно вказати положення файлу, папки або ж місцезбереження файлу, то для цих цілей Swing надає клас javax.swing.JFileChooser. Виклик діалогу збереження файлу схожого на той що використовується у віндовз, здійснюється через метод showSaveDialog():
public int showSaveDialog(Component parent)
Де parent - це батьківський компонент діалогу, переважно JFrame. Коли користувач введе ім'я файлу і натисне ОК або Cancel, метод повертає одне з наступних значень:
JFileChooser.CANCEL_OPTION // користувач відмінив вибір файлу JFileChooser.APPROVE_OPTION // користува здійснив вибір файлу FileChooser.ERROR_OPTION // якщо користувач закрив вікно // кнопкою закриття Х.
Після того як користувач здійснив свій вибір, ми можемо використати метод getSelectedFile() щоб взяти нам об'єкт файлу:
File getSelectedFile()
Перед викликом методу showSaveDialog(), ви можливо захочете встановити деякі опції для діалогу:
setDialogTitle(String) // встановлює заголовок вікна. setCurrentDirectory(File) // встановити директорію для збереження
Приклад коду:
// батьківський компонет діалогового вікна JFrame parentFrame = new JFrame(); JFileChooser fileChooser = new JFileChooser(); fileChooser.setDialogTitle("Вкажіть як зберегти файл"); int userSelection = fileChooser.showSaveDialog(parentFrame); if (userSelection == JFileChooser.APPROVE_OPTION) { File fileToSave = fileChooser.getSelectedFile(); System.out.println("Зберегти як: " + fileToSave.getAbsolutePath()); }
Можна встановити фільтр для задання розширень файлу:
FileNameExtensionFilter filter = new FileNameExtensionFilter("csv файл","csv"); fileChooser.setFileFilter(filter);
Вікно може виглядати так:
В результаті отримали об'єкт File і можна створювати потоки вводу-виводу і записувати у файл використовуючи отриманий об'єкт File. Об'єкт File, хто ще не знає є дискриптором файлу і мабуть, основне що в ньому є - це адрес розміщення файлу і його назва.
При написанні було використано матеріали із codejava.net