Zadanie 3
Zadanie 3
Naprogramujte oknovú aplikáciu, ktorá dokáže vykresliť rôzne typy geometrických tvarov. Tieto tvary budú automaticky, po spustení aplikácie, načítané zo súboru.
Podrobnejší popis zadania:
Geometrický tvar bude mať vlastnosti (atribúty) ako sú x, y súradnice a farbu v RGB formáte. Ďalšie vlastnosti ako šírka, výška a polomer sú špecifické pre konkrétny geometrický tvar (obdĺžnik alebo kruh). Vhodne doprogramujte triedy GeomTvar, Platno, Kruh, Obdlznik tak, aby ste vedeli vykresliť na plátno kolekciu geometrických tvarov.
Formát vstupného súboru bude musieť byť doplnený (v porovnaní zo zadaním č. 2) o informáciu o farbe, ktorá je v RGB tvare.
Veľkosť okna sa prispôsobí tak aby žiadny útvar nebol mimo okna
číslo_útvaru;x;y;color_r;color_g;color_b;šírka;dĺžka; číslo_útvaru;x;y;color_r;color_g;color_b;polomer; číslo_útvaru;x;y;color_r;color_g;color_b;šírka; číslo_útvaru;x;y;color_r;color_g;color_b;dĺžka; ...... číslo_útvaru;x;y;color_r;color_g;color_b;šírka; číslo_útvaru;x;y;color_r;color_g;color_b;polomer; číslo_útvaru;x;y;color_r;color_g;color_b;dĺžka;číslo_útvaru - určuje druh geometrického útvaru na riadku
- 0 - obdĺžnik (šírka;dĺžka)
- 1 - kruh (polomer)
- 2 - štvorec (šírka)
- 3 - rovnostranný trojuholník (dĺžka)
x;y - súradnice kde sa útvar na plátne nachádza
- obdĺžnik - ľavý horný roh
- kruh - stred kruhu
- štvorec - ľavý horný roh
- rovnostranný trojuholník - spodný ľavý roh (pomocka: Graphics.drawPolygon(int[], int[], int) )
color_r;color_g;color_b; - farba utvaru vo formate RGB
V súbore môže byť takto definovaný ľubovoľný počet rôznych geometrických tvarov, kde každý tvar je na jednom riadku.
Po spustení program vypíše počet geometrických útvarov v kolekcii a ich súčet obsahov, súčet obvodov.
PRÍKLAD VSTUPNÉHO SÚBORU:
1;20;30;0;0;255;40; 2;40;40;255;255;0;40; 0;100;40;255;33;55;90;30;Ukážka oknovej aplikacie:
...TBA...
Tak ako v zadaní č. 2, používajte objektovo orientovaný prístup k riešeniu problému. Tzn. správne rozložte funkcionalitu do jednotlivých tried, využite dedenie a polymorfizmus. Nezabudnite okomentovať svoj kód!!! Zadanie je potrebné odovzdať cez AIS do 17.4.2016 23:59. Odovzdáva sa zozipovaný NetBeans projekt. Nezabudnite uviesť v zdrojovom súbore, kde je metóda main „návod na použitie“. Využite komentár. Ak nepoužívate vývojové prostredie NetBeans, pošlite JAR súbor a všetky zdrojové súbory JAVA.