🎯 Цель работы:

Создание интерактивного приложения для просмотра изображений с использованием паттерна Iterator, работы с файловой системой и добавлением

📋 Задание

  1. Создать приложение для просмотра изображений
  2. Реализовать паттерн Итератор для навигации по изображениям (с фильтрацией изображений)
  3. Реализовать режим автоматического просмотра (с эффектами переходов между изображениями*)

Указания по разработке

  1. Подготовить каркас приложения JavaFX.

1.1 Создать проект JavaFX с FXML-интерфейсом

1.2 Разработать интерфейс с кнопками навигации <Вперед> <Назад> и ImageView для отображения изображений

1.3 Подготовить папку с тестовыми изображениями (5 файлов)

  1. Реализовать паттерн Итератор

Загрузите шаблон модели Итератор: Iterator.java

Используйте массив для хранения изображений. Теоретическая справка по массивам

  1. Реализовать перемещение по коллекции, соединив модель Итератор и интерфейс.

    • Кнопка ”>” — следующий файл (next())
    • Кнопка ”<” — предыдущий файл (добавить метод previous() в итератор)
    • Кнопка ”»“ — последний файл
    • Кнопка ”«“ — первый файл (использовать previous() )
    • Отображение текущей позиции: “3 из 10”

*Особенности *

  1. Добавьте возможность фильтрации по типу файлов.
  2. Реализуйте минимум 2 эффекта перехода на выбор: Исчезание/появление, Сдвиг, Масштабирование, Поворот и т.д.
  3. Отобразите информацию о текущем файле.
  4. Фича — Чтение EXIF-данных: используйте библиотеку metadata-extractor для отображения даты съемки, параметров камеры и т.д. Индивидуальные варианты

Тестирование приложения

Оценка составляется из 4 тестов по 1 баллу + 1 балл за дедлайн

Тест 1. Проверка навигации

  1. Загрузите папку с 5+ изображениями
  2. Проверьте переходы вперед/назад
  3. Проверьте переходы в начало/конец
  4. Убедитесь в корректности счетчика (X из Y)

Тест 2. Проверка фильтрации

  1. Используйте папку со смешанными типами файлов
  2. Проверьте каждый фильтр и убедитесь, что счетчик обновляется, слайды корректно отображаются
  3. Проверьте работу фильтра “Все”
  4. Проверьте корректность обращения к пустой папке

Тест 3. Проверка анимации

  1. Проверьте все реализованные эффекты
  2. Убедитесь в последовательности переходов
  3. Проверьте работу с разными размерами изображений

Тест 4. Проверка информации о файле

  1. Проверьте отображение информации о файле
  2. Измените файл или создайте новый и убедитесь в корректности отображения информации о нём.
  3. Проверьте возможность чтения EXIF-данных (если они есть)