BlueJ - Oboznámenie sa s modelovacím nástrojom
Ciele
- Oboznámiť sa s prostredím BlueJ http://www.bluej.org/.
- Naučiť sa vytvárať inštancie objektov z pripravených tried.
- Naučiť sa volať metódy na vytvorených objektoch.
- Oboznámiť sa so základnými dátovými typmi jazyka Java.
- Oboznámiť sa so základnými termínmi OOP.
Úvod
Na prvom cvičení sa oboznámite s modelovacím nástrojom BlueJ.
V nasledujúcich štyroch cvičeniach ho využijete na programovanie jednoduchých
úloh. BlueJ je vývojové prostredie navrhnuté na výučbu objektovo
orientovaného programovania v jazyku Java. Umožňuje navrhnúť
diagram tried vyvíjanej aplikácie v zjednodušenej verzii jazyka
UML a následne definovať vlastnosti tried a implementovať
ich metódy. Jeho výhoda spočíva v grafickom zobrazení závislostí tried a
ich hierarchie. Taktiež umožňuje interaktívne vytváranie inštancií tried
a volanie ich metód.
Postup
-
V prvom kroku sa zoznámite s prostredím BlueJ. Otvoríte v ňom pripravený projekt, v ktorom sa nachádza niekoľko tried reprezentujúcich grafické tvary a následne v ňom vytvoríte svoju prvú inštanciu.Úloha: Stiahnite súbor project_01.zip, ktorý obsahuje projekt pre toto cvičenie. Zip súbor rozbaľte a otvorte projekt v prostredí BlueJ.Poznámka: Pri otváraní projektu v BlueJ stačí vybrať samotný zip balíček. Prostredie BlueJ rozbalí balíček samo.Projekt obsahuje triedy, ktoré reprezentujú grafické objekty. Sú to:
- TriangleRightAngle - pravouhlý trojuholník
- TriangleEqualArm - rovnoramenný trojuholník (presný anglický názov rovnoramenného trojuholníka je isisceles triangle.)
- Diamond - kosoštvorec
- Rectangle - obdĺžnik
- SnowFlake - spojnice stredov strán štvorca a uhlopriečok štvorca
- Color - trieda obsahuje základnú paletu farieb, ktoré je možné použiť na vykreslenie grafických objektov
- Canvas - je plátno, na ktoré je možné vykresliť grafické objekty
Úloha: Vytvorte novú inštanciu diamantu. Pomenujte ju diamond. Parametre vyplňte nasledovne:Pri výtváraní inštancie najskôr pravým tlačidlom kliknite na triedu Diamond a vyberte konštruktor obsahujúci nasledujúce parametre:- int x = 10
- int y = 10
- int diagonal = 15
- Color color = Color.RED
- boolean visible = true
- int x a int y - [x,y] pozícia diamantu na plátne.
- int diagonal - veľkosť dlhšej uhlopriečky diamantu.
- Color color - farba výplne trojuholníka. Musí byť v tvare Color.RED.
- boolean visible - premenná, ktorá určuje, či sa diamant vykreslí hneď po vytvorení, alebo až po zavolaní metódy show()
Poznámka: Na palete sa bod [0,0] nachádza v ľavom hornom rohu a súradnice narastajú smerom nadol a doprava.Poznámka: Celú paletu dostupných farieb si môžete prezrieť otvorením triedy Color (trieda je enumeračný typ, čo bude vysvetlené neskôr) v editore (dvojklik na triedu Color).Úloha: Skontrolujte, či sa vám zobrazil nasledujúci obrázok: -
Každý bod, ktorý je možné vykresliť na plátno je reprezentovaný štvorcom o veľkosti 10x10 pixelov. (Implementované na účely cvičenia.) Všetky grafické objekty sú vyskladané pomocou takýchto štvorčekov. V predošlom kroku ste vytvorili grafický objekt, v tomto kroku sa naučíte ako grafický objekt zmazať a opäť vykresliť, presunúť, zmeniť veľkosť a farbu.Úloha: Pravým tlačidlom myši kliknite na vytvorenú inštanciu (červený obdĺžnik s názvom diamond) v časti object bench (spodnej časti okna) vývojového prostredia BlueJ a zavolajte metódu hide().Úloha: Diamant opäť zobrazte zavolaním metódy show().Úloha: Posuňte vytvorený diamant na novú pozíciu [20,15] pomocou volania metód:
- moveLeft()
- moveRight()
- moveUp()
- moveDown()
Úloha: Zmeňte veľkosť diamantu zmenou veľkosti diagonály na hodnotu 30 zavolaním metódy setDiagonal().Úloha: Zmeňte pozíciu diamantu z aktuálnej pozície na pozíciu [30,5] pomocou metód setX() a setY().Poznámka: Premenné [x,y] určujú pozíciu ľavého horného rohu štvorca, ktorým je možné diamant opísať. -
Vyskúšajte si vytváranie inštancií ostatných tried, ktoré reprezentujú grafické objekty a volanie ich metód.Úloha: Pokúste sa vytvoriť nasledujúci obrázok:Poznámka: Grafické objekty sa navzájom prekresľujú, preto je na prekrytom objekte potrebné zavolať metódu show() pre jeho opätovné správne zobrazenie.Poznámka: Objekt TriangleRightAngle vyžaduje ako parameter umiestnenie pravého uhla. Možné hodnoty sú TriangleRightAngle.LEFT alebo TriangleRightAngle.RIGHT. Namiesto týchto konštánt však môžete použiť aj hodnotu 0 pre "ľavý" pravouhlý trojuholník a hodnotu 1 pre "pravý" pravouhlý trojuholník.
-
Vymažte projekt z disku a zrušte všetky vami vytvorené nastavenia v
prostredí BlueJ a NetBeans!
Doplňujúce úlohy
Ďalšie zdroje
- BlueJ - The interactive Java environment (pre inštaláciu BlueJ potrebujete mať nainštalovaný JDK balík.
- BlueJ - About http://www.bluej.org/about/about.html
- BlueJ - Tutoriál http://www.bluej.org/tutorial/tutorial-201.pdf
- Niečo o triedach - Java tutoriál http://java.sun.com/docs/books/tutorial/java/concepts/class.html
- Objekty - Java tutoriál http://java.sun.com/docs/books/tutorial/java/concepts/object.html
- Triedy - Java tutoriál http://java.sun.com/docs/books/tutorial/java/concepts/class.html
- Konštruktor - Java tutoriál http://java.sun.com/docs/books/tutorial/java/javaOO/constructors.html
$Id$