🎯 Цель работы:
Создание интерактивного приложения для просмотра изображений с использованием паттерна Iterator, работы с файловой системой и добавлением
📋 Задание
- Создать приложение для просмотра изображений
- Реализовать паттерн Итератор для навигации по изображениям (с фильтрацией изображений)
- Реализовать режим автоматического просмотра (с эффектами переходов между изображениями*)
Указания по разработке
- Подготовить каркас приложения JavaFX.
1.1 Создать проект JavaFX с FXML-интерфейсом
1.2 Разработать интерфейс с кнопками навигации <Вперед> <Назад> и ImageView для отображения изображенийНазад>Вперед>
1.3 Подготовить папку с тестовыми изображениями (5 файлов)
- Реализовать паттерн Итератор
Загрузите шаблон модели Итератор: Iterator.java
Используйте массив для хранения изображений. Теоретическая справка по массивам
-
Реализовать перемещение по коллекции, соединив модель Итератор и интерфейс.
- Кнопка ”>” — следующий файл (
next()) - Кнопка ”<” — предыдущий файл (добавить метод
previous()в итератор) - Кнопка ”»“ — последний файл
- Кнопка ”«“ — первый файл (использовать
previous()) - Отображение текущей позиции: “3 из 10”
- Кнопка ”>” — следующий файл (
*Особенности *
- При достижении конца коллекции — переход к началу, и от предыдущего к первому — переход к последнему.
- Обработка пустой папки
- Добавьте возможность фильтрации по типу файлов.
- Реализуйте минимум 2 эффекта перехода на выбор: Исчезание/появление, Сдвиг, Масштабирование, Поворот и т.д.
- Отобразите информацию о текущем файле.
- Фича — Чтение EXIF-данных: используйте библиотеку metadata-extractor для отображения даты съемки, параметров камеры и т.д. Индивидуальные варианты
Тестирование приложения
Оценка составляется из 4 тестов по 1 баллу + 1 балл за дедлайн
Тест 1. Проверка навигации
- Загрузите папку с 5+ изображениями
- Проверьте переходы вперед/назад
- Проверьте переходы в начало/конец
- Убедитесь в корректности счетчика (X из Y)
Тест 2. Проверка фильтрации
- Используйте папку со смешанными типами файлов
- Проверьте каждый фильтр и убедитесь, что счетчик обновляется, слайды корректно отображаются
- Проверьте работу фильтра “Все”
- Проверьте корректность обращения к пустой папке
Тест 3. Проверка анимации
- Проверьте все реализованные эффекты
- Убедитесь в последовательности переходов
- Проверьте работу с разными размерами изображений
Тест 4. Проверка информации о файле
- Проверьте отображение информации о файле
- Измените файл или создайте новый и убедитесь в корректности отображения информации о нём.
- Проверьте возможность чтения EXIF-данных (если они есть)