Skip to content

Latest commit

 

History

History

lab8

Final JavaFX GUI demonstration

Login witn .en_NZ locally Login with .ru locally
изображение изображение
Main window with .hr locally + YandexAPI city objects map
изображение
Main window also with .en_NZ locally Main window with .ru locally
изображение изображение
Validation failed Validation success
изображение изображение

GUI prototype (accepted)

image_2023-05-14_01-14-45

Вариант 3131900

Доработать программу из лабораторной работы №7 следующим образом:

Заменить консольный клиент на клиент с графическим интерфейсом пользователя(GUI). 

> В функционал клиента должно входить:

1. Окно с авторизацией / регистрацией.
2. Отображение текущего пользователя.
3. Таблица, отображающая все объекты из коллекцииКаждое поле объекта - отдельная колонка таблицы.
   ├ Строки таблицы можно `фильтровать` / `сортировать` по значениям любой из колонок. 
   └ Сортировку и фильтрацию значений столбцов реализовать с помощью `Streams API`.
4. Поддержка всех команд из предыдущих лабораторных работ.
5. Область, визуализирующая объекты коллекцииОбъекты должны быть нарисованы с помощью графических примитивов с использованием 
      Graphics, Canvas или аналогичных средств графической библиотеки.
   ├ При визуализации использовать данные о координатах и размерах объекта.
   ├ Объекты от разных пользователей должны быть нарисованы разными цветами.
   ├ При нажатии на объект должна выводиться информация об этом объекте.
   ├ При добавлении/удалении/изменении объекта, он должен автоматически появиться/исчезнуть/измениться
      на области как владельца, так и всех других клиентов. 
   └ При отрисовке объекта должна воспроизводиться согласованная с преподавателем `анимация`.
6. Возможность редактирования отдельных полей любого из объектов (принадлежащего пользователю). 
   └ Переход к редактированию объекта возможен из таблицы с общим списком объектов и из области с визуализацией объекта.
7. Возможность удаления выбранного объекта (даже если команды remove ранее не было).

> Перед непосредственной разработкой приложения необходимо `согласовать прототип интерфейса` с преподавателем. 
  └ Прототип интерфейса должен быть создан с помощью средства для построения прототипов интерфейсов(`mockplus`, draw.io, etc.)

23-12-2004

Графический интерфейс:

- Интерфейс должен быть реализован с помощью библиотеки `JavaFX`
- Графический интерфейс клиентской части должен поддерживать`русский``чешский``хорватский``английский` (Новая Зеландия)
  └> языки / локали. 
- Должно обеспечиваться корректное отображение чисел, даты и времени в соответстии с `локалью`. 
  └ Переключение языков должно происходить `без перезапуска` приложения. Локализованные ресурсы должны `храниться в классе`.

Отчёт по работе должен содержать:

1) Текст задания.
2) Диаграмма классов разработанной программы.
3) Исходный код программы.
4) Выводы по работе.

Вопросы к защите лабораторной работы:

1. Компоненты пользовательского интерфейса. Иерархия компонентов.
2. Базовые классы `Component`, `Container`, `JComponent`.
3. Менеджеры компоновки.
4. Модель обработки событий. `Класс-слушатель` и `класс-событие`.
5. Технология `JavaFX`. Особенности архитектуры, отличия от `AWT` / `Swing`.
6. `Интернационализация`. `Локализация`. Хранение локализованных ресурсов.
7. Форматирование локализованных числовых данных, текста, даты и времени. 
   └> Классы `NumberFormat`, `DateFormat`, `MessageFormat`, `ChoiceFormat`.