App is using new, fancy I/O operations so Java 8 is required.
There is a problem with OpenJDK on Linux when Java support for the ATK accessibility toolkit is enabled. Unfortunately, it seems that it is enabled by default in recent versions of OpenJDK, so please use Oracle JDK instead.
Korišćenjem Java programskog jezika implementirati desktop aplikaciju za rad sa 2D grafikom. Aplikacija mora podržavati funkcionalnosti koje su rađene u projektnom zadatku na predmetu Objektno orijentisane informacione tehnologije.
Izmene/Dodatne funkcionalnosti:
- nazivi klasa, metoda i promenljivih moraju biti na engleskom jeziku,
- aplikacija mora biti realizovan u skladu sa MVC obrascem,
- dodavanje, brisanje i modifikacija š estougla (hexagon) koristeći adapter obrazac za hexagon.jar,
- poništavanje izvršenih komandi (undo funkcionalnost) – Command obrazac, ponovno izvršenje poništenih komandi (redo funkcionalnost) – Command obrazac,
- generisanje i prikaz loga izvršenih komandi u okviru aplikacije ,
- zapis u tekstualnu datoteku loga izvršenih komandi na eksterni memorijski medijum, zapis kompletnog crteža (Serialization) na eksterni memorijski medijum, - Strategy obrazac,
- učitavanje tekstualne datoteke koja sadrži log izvršenih komandi i na osnovu sadržaja, kreiranje odgovarajućeg crteža, komandu po komandu, učitavanje kompletnog crteža,
- promenu pozicije oblika po Z osi, ToFront (pozicija po pozicija), ToBack (pozicija po pozicija), BringToFront (na najvišu poziciju), BringToBack (na najnižu poziciju),
- prikazati trenutno aktivne boje za crtanje ivice i popunjavanje oblika, klikom na boje otvara se dijalog sa mogućnošću promene trenutno aktivne boje,
- omogućiti selekciju više oblika,
- JButton za brisanje treba da bude dostupan samo u slučaju da postoje selektovani objekti – Observer obrazac,
- JButton za modifikaciju treba da bude dostupan samo u slučaju kada je selektovan samo jedan oblik - Observer obrazac.