Выбор файлов в компоненте JFileChooser — КиберПедия 

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Выбор файлов в компоненте JFileChooser

2020-04-01 126
Выбор файлов в компоненте JFileChooser 0.00 из 5.00 0 оценок
Заказать работу

Выбор файлов требуется в любом более или менее приличном приложении: в самом деле, все, что пользователями делается, чаще всего сохраняется в файлах, даже если расположены они на удаленных серверах. Тем удивительнее, что до выхода Java версии 2 да и некоторое время после этого в Swing с выбором файлов были проблемы. Компонент JFileChooser поддерживался в Swing с самого первого выпуска, вот только работал он с перебоями и странно, так что программистам приходилось использовать плохо управляемый, но зато работоспособный класс FileDialog библиотеки AWT. К примеру, с помощью компонента JFileChooser в Windows нельзя было выбрать файл с другого диска, так как поначалу этот компонент учитывал только особенности файловой системы Unix с одним корнем.

Впрочем, начиная с выпуска JDK 1.3, все проблемы остались позади, и теперь имеется отличный и легко настраиваемый инструмент для выбора файлов и, при необходимости, каталогов. Особенности различных файловых систем скрыты в подклассах абстрактного класса FileSystemView, и беспокоиться об этом больше не придется: выбранный для приложения внешний вид отобразит файловую структуру как подобает, соответственно текущей операционной системе.

// SimpleFileChooser.java

// Создание простых диалоговых окон открытия и сохранения файлов

import javax.swing.*;java.awt.event.*;class SimpleFileChooser extends JFrame {fc = new JFileChooser(); // общий экземпляр JFileChooserSimpleFileChooser() {("SimpleFileChooser");(EXIT_ON_CLOSE);open = new JButton("Открыть...");.addActionListener(new ActionListener() {void actionPerformed(ActionEvent e) {.setDialogTitle("Выберите каталог");.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);res = fc.showOpenDialog(SimpleFileChooser.this);(res == JFileChooser.APPROVE_OPTION) // если файл выбран, покажем его.showMessageDialog(.this, fc.getSelectedFile());

}});save = new JButton("Сохранить...");.addActionListener(new ActionListener() {void actionPerformed(ActionEvent e) {.setDialogTitle("Сохранение файла");.setFileSelectionMode(JFileChooser.FILES_ONLY); // настройка режимаres = fc.showSaveDialog(SimpleFileChooser.this);

// сообщим об успехе(res == JFileChooser.APPROVE_OPTION).showMessageDialog(.this, "Файл сохранен");

}});contents = new JPanel();// добавим кнопки и выведем окно на экран.add(open);.add(save);(contents);(300, 200);(true);

}static void main(String[] args) {

new SimpleFileChooser();

}}

В примере создается небольшое окно с двумя кнопками. После щелчков на этих кнопках на экране появляются диалоговые окна для открытия и сохранения файлов. На весь пример всего один экземпляр компонента для выбора файлов JFileChooser, хотя мы и сохраняем файлы и открываем их. Более того, эти действия можно делать многократно, поскольку, как уже отмечалось, JFileChooser представляет собой обычный компонент, и его можно создать один раз, а затем после соответствующей настройки снова и снова выводить в подходящих диалоговых окнах. При щелчке на первой кнопке на экран выводится диалоговое окно открытия файлов. Соответствующий заголовок для диалогового окна можно задать методом setDialogTitle(). Перед выводом диалогового окна для выбора файлов на экран нужно настроить режим выбора. Компонент JFileChooser может работать в одном из трех режимов (режим выбора хранится в свойстве fileSelectionMode). Доступные режимы работы JFileChooser:_ONLY - Пользователю для выбора (независимо от того, сохраняется файл или открывается) будут доступны только файлы, но не каталоги. По умолчанию JFileChooser работает именно в этом режиме и правильно делает, поскольку подобный режим необходим чаще остальных. Именно в этом режиме пользователь сохраняет свою работу в файлах._AND_DIRECTORIES - В этом режиме пользователь может выбирать и каталоги, и файлы. Как правило, этот режим хорош там, где нужно изменить общие свойства файловой системы._ONLY - Этот весьма ценный режим разрешает пользователю выбирать исключительно каталоги. Особенно хорош он там, где нужно выбирать каталоги под временные файлы, указывать каталоги с исходными текстами и т. п.

Щелкнув на второй кнопке, на экран вызовется диалоговое окно для сохранения файлов. Разница между ним и создаваемым первой кнопкой окном для открытия файлов невелика, всего лишь в надписях, используемых для компонентов JFileChooser. В примере режим выбора файлов установлен в FILES_ONLY, задан собственный заголовок для создаваемого окна методом setDialogTitle(). Выводится диалоговое окно на экран методом showSaveDialog(). Так же как и в случае окна для открытия файлов, для этого требуется только один параметр - «родительский» компонент. Если выбор файла для сохранения проходит успешно (возвращается значение APPROVE_OPTION), на экране появляется краткое сообщение, подтверждающее успешное сохранение файла.


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.006 с.