Skip to content

LunarSonic/programming_lab8

Repository files navigation

Лабораторная работа №8

Вариант 3750

  1. Интерфейс должен быть реализован с помощью библиотеки Swing
  2. Графический интерфейс клиентской части должен поддерживать русский, норвежский, литовский и английский (Канада) языки / локали. Должно обеспечиваться корректное отображение чисел, даты и времени в соответстии с локалью. Переключение языков должно происходить без перезапуска приложения. Локализованные ресурсы должны храниться в классе.

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

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

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

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

В лабораторной работе были использованы некоторые решения разработчика DJ-Raven для создания панелей входа/регистрации и боковой панели с меню. Также использовались его 2 библиотеки swing-toast-notifications, swing-glasspane-popup для отображения сообщений и всплывающего окна при выполнении команд

Пользовательский интерфейс

image

image

image

image

image

image

image

About

Программирование. Лабораторная работа №8

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages