Upozornenie
Toto je pôvodné prvé vydanie dokumentácie pre verziu knižnice grafického robota 1.0 beta. V súčasnosti už nie je aktuálne.
Novšie vydanie dokumentácie pre verziu 1.50 je publikované na nasledujúcej adrese:
http://cec.truni.sk/horvath/GRobot/
protected static class Robot.ObsluhaUdalostí extends Object
new
ObsluhaUdalostí
() {@
Overridepublic
void
tik
() {}@
Overridepublic
void
klik
() {}@
Overridepublic
void
voľbaPoložkyPonuky
() {}@
Overridepublic
void
vymazanie
() {}@
Overridepublic
void
prekreslenie
() {}@
Overridepublic
void
presunutieOkna
() {}@
Overridepublic
void
zmenaVeľkostiOkna
() {}@
Overridepublic
void
ukončenie
() {}@
Overridepublic
void
potvrdenieÚdajov
() {}@
Overridepublic
void
stlačenieTlačidlaMyši
() {}@
Overridepublic
void
uvoľnenieTlačidlaMyši
() {}@
Overridepublic
void
pohybMyši
() {}@
Overridepublic
void
ťahanieMyšou
() {}@
Overridepublic
void
stlačenieKlávesu
() {}@
Overridepublic
void
uvoľnenieKlávesu
() {}@
Overridepublic
void
zadanieZnaku
() {} };
Musíme presne dodržať syntax metód:
@
Override
public
void
«názov reakcie»()
{ … }
, kde
«názov reakcie» je jeden z názvov vyššie uvedených reakcií.
Klauzula Override
slúži na kontrolu. Keby sme ju neuviedli
a omylom urobili v názve metódy (reakcie) hoci nepatrný preklep,
obsluha danej udalosti by nefungovala (aplikácia by nereagovala). Medzi
zložené zátvorky sa {}
, samozrejme, vpisuje kód, ktorý
bude spustený v prípade, že nastane (vznikne) príslušná udalosť (napr.
používateľ stlačí kláves, tlačidlo myši a podobne…).
Pre jeden svet je možné definovať len jednu inštanciu obsluhy udalostí. Ak sa ich pokúsite vytvoriť viacero, vznikne výnimka oznamujúca, že obsluha udalostí už bola definovaná.
Nasledovný príklad demonštruje vytvorenie obsluhy udalostí na klik myšou. Robotovi najskôr nastavuje rýchlosť, inak by sa nehýbal a potom je v obsluhe udalostí definované, aby sa pri kliknutí myšou na plátno rozbehol smerom na pozíciu, kam bolo kliknuté.
rýchlosť
(10
,false
);new
ObsluhaUdalostí
() {@
Overridepublic
void
klik
() {cieľNaMyš
(); } };
Modifier | Konštruktor a opis |
---|---|
protected |
Robot.ObsluhaUdalostí() |
Modifikátor a typ | Metóda a opis |
---|---|
void |
dokreslenie()
Spustená po prekreslení sveta.
|
void |
klik()
Spustená pri kliknutí tlačidlom myši.
|
void |
pohybMysi()
![]() pohybMyši . |
void |
pohybMyši()
Spustená pri pohybe myši nad plátnom podlahy.
|
void |
potvrdenieUdajov()
![]() potvrdenieÚdajov . |
void |
potvrdenieÚdajov()
Spustená po stlačení klávesu
ENTER vo vstupnom riadku
zobrazenom po zavolaní metódy začniVstup . |
void |
potvrdenieVstupu()
![]() potvrdenieÚdajov . |
void |
prekreslenie()
Spustená pri (pred) prekreslení sveta.
|
void |
presunutieOkna()
Spustená pri presunutí okna sveta.
|
void |
stlacenieKlavesu()
![]() stlačenieKlávesu . |
void |
stlacenieTlacidlaMysi()
![]() stlačenieTlačidlaMyši . |
void |
stlačenieKlávesu()
Spustená pri stlačení klávesu.
|
void |
stlačenieTlačidlaMyši()
Spustená pri stlačení tlačidla myši.
|
void |
tahanieMysou()
![]() ťahanieMyšou . |
void |
ťahanieMyšou()
Spustená pri pohybe myši nad plátnom podlahy počas držania tlačidla
myši.
|
void |
tik()
Spustená v pravidelnom časovom intervale časovača, ktorý je možné
odštartovať metódou
spustiČasovač a zastaviť metódou zastavČasovač . |
void |
ukoncenie()
![]() ukončenie . |
void |
ukončenie()
Spustená pri ukončení aplikácie.
|
void |
uvolnenieKlavesu()
![]() uvoľnenieKlávesu . |
void |
uvoľnenieKlávesu()
Spustená pri uvoľnení klávesu.
|
void |
uvolnenieTlacidlaMysi()
![]() uvoľnenieTlačidlaMyši . |
void |
uvoľnenieTlačidlaMyši()
Spustená pri uvoľnení tlačidla myši.
|
void |
volbaPolozkyPonuky()
![]() voľbaPoložkyPonuky . |
void |
voľbaPoložkyPonuky()
Spustená pri zvolení položky ponuky.
|
void |
vymazanie()
Spustená po vymazaní grafiky a textov sveta.
|
void |
zadanieZnaku()
Spustená pri zadaní znaku z klávesnice.
|
void |
zmenaVelkostiOkna()
![]() zmenaVeľkostiOkna . |
void |
zmenaVeľkostiOkna()
Spustená pri zmene veľkosti okna sveta.
|
void |
zrusenieUdajov()
![]() zrušenieÚdajov . |
void |
zrusenieVstupu()
![]() zrušenieÚdajov . |
void |
zrušenieÚdajov()
Spustená po stlačení klávesu
ESC vo vstupnom riadku
zobrazenom po zavolaní metódy začniVstup . |
void |
zrušenieVstupu()
![]() zrušenieÚdajov . |
public void tik()
spustiČasovač
a zastaviť metódou zastavČasovač
. Informácie o poslednej udalosti časovača je možné
získať pomocou metódy údajeUdalostí.tik()
.
Časovač pre všetkých robotov automaticky spúšta metódu pracuj
a časovač môže byť taktiež niektorými
metódami automaticky spustený. Pozri napríklad: rýchlosť
, uhlováRýchlosť
…
public void klik()
údajeUdalostí.myš()
na
získanie podrobnejších údajov o tejto udalosti. Stav myši
je aktualizovaný aj vo vnútorných premenných sveta.public void voľbaPoložkyPonuky()
údajeUdalostí.položkaPonuky()
alebo
svet.poslednáPoložkaPonuky()
na získanie naposledy zvolenej položky ponuky alebo využite metódu
aktivovaná
triedy PoložkaPonuky
na overenie aktivácie konkrétnej
položky ponuky.public void volbaPolozkyPonuky()
voľbaPoložkyPonuky
.public void vymazanie()
Graphics2D
, použite metódu podlaha.grafika()
(resp. strop.grafika()
) na prístup k nej. Majte na
pamäti, že grafika plátna pracuje s odlišným súradnicovým priestorom,
než to robia grafické roboty.public void prekreslenie()
Graphics2D
, použite metódu podlaha.grafika()
(resp. strop.grafika()
) na prevzatie grafického objektu, pomocou ktorého
môžete tiež dokresľovať obsah plátien (v podstate rovnocenne ako pri
kreslení pomocou robota, avšak treba mať na pamäti, že grafika plátna
pracuje s odlišným súradnicovým priestorom, než to robia grafické
roboty).public void dokreslenie()
prekreslenie
, ibaže je spustená po prekreslení
sveta, tesne pred finálnym zobrazením grafiky v okne (na obrazovke).
Takže v tomto momente je čas na posledné finálne úpravy obsahu, ktorý
bude reálne zobrazený na obrazovke. Čokoľvek sa v tomto momente
pokúsite nakresliť na plátno podlahy alebo
stropu, už nestihne byť zobrazené v tomto pracovnom cykle, avšak
môžete použiť grafický objekt sveta (získaný metódou svet.grafika()
) na dokreslenie (krátkodobého)
grafického obsahu. Treba podotknúť že spomenutý objekt grafika
pracuje v súradnicovom priestore Javy a všetko, čo pomocou
neho nakreslíte, bude na obrazovke zobrazené len do najbližšieho
prekreslenia.public void presunutieOkna()
údajeUdalostí.okno()
.public void zmenaVeľkostiOkna()
údajeUdalostí.okno()
. (Po vykonaní tejto
metódy je v prípade, že sa pracovalo s výpismi textov na podlahu alebo strop,
spustené automatické prekreslenie. Ak je automatické prekreslenie
vypnuté, musí sa o prekreslenie sveta
pri zmene veľkosti okna postarať
programátor.)public void zmenaVelkostiOkna()
zmenaVeľkostiOkna
.public void ukončenie()
public void ukoncenie()
ukončenie
.public void potvrdenieÚdajov()
ENTER
vo vstupnom riadku
zobrazenom po zavolaní metódy začniVstup
.
Na získanie potvrdených údajov použite metódy
prevezmiReťazec
,
prevezmiCeléČíslo
alebo
prevezmiReálneČíslo
. V prípade,
že potvrdené údaje nie sú v správnom tvare (platí pre celé alebo
reálne číslo), je príslušnou metódou „prevezmi“ vrátené
null
.public void potvrdenieUdajov()
potvrdenieÚdajov
.public void potvrdenieVstupu()
potvrdenieÚdajov
.public void zrušenieÚdajov()
ESC
vo vstupnom riadku
zobrazenom po zavolaní metódy začniVstup
.
Reakciou na zrušenie vstupu môže byť napríklad ukončenie primitívnej priamočiarej aplikácie
vyžadujúcej na svouju činnosť potvrdenie vstupu.public void zrusenieUdajov()
zrušenieÚdajov
.public void zrušenieVstupu()
zrušenieÚdajov
.public void zrusenieVstupu()
zrušenieÚdajov
.public void stlačenieTlačidlaMyši()
údajeUdalostí.myš()
na
získanie podrobnejších údajov o tejto udalosti. Stav myši
je aktualizovaný aj vo vnútorných premenných sveta.public void stlacenieTlacidlaMysi()
stlačenieTlačidlaMyši
.public void uvoľnenieTlačidlaMyši()
údajeUdalostí.myš()
na
získanie podrobnejších údajov o tejto udalosti. Stav myši
je aktualizovaný aj vo vnútorných premenných sveta.public void uvolnenieTlacidlaMysi()
uvoľnenieTlačidlaMyši
.public void pohybMyši()
údajeUdalostí.myš()
na
získanie podrobnejších údajov o tejto udalosti. Stav myši
je aktualizovaný aj vo vnútorných premenných sveta.public void pohybMysi()
pohybMyši
.public void ťahanieMyšou()
údajeUdalostí.myš()
na získanie podrobnejších údajov o tejto udalosti. Stav myši je
aktualizovaný aj vo vnútorných premenných sveta.public void tahanieMysou()
ťahanieMyšou
.public void stlačenieKlávesu()
údajeUdalostí.klávesnica()
na získanie podrobnejších údajov o tejto udalosti.
Užitočné sú aj ďalšie metódy triedy ÚdajeUdalostí
uvedené v zozname nižšie.
Pre túto udalosť najmä kláves()
a kláves(int)
public void stlacenieKlavesu()
stlačenieKlávesu
.public void uvoľnenieKlávesu()
údajeUdalostí.klávesnica()
na získanie podrobnejších údajov o tejto udalosti.
Užitočné sú aj ďalšie metódy triedy ÚdajeUdalostí
uvedené v zozname nižšie.
Pre túto udalosť najmä kláves()
a kláves(int)
public void uvolnenieKlavesu()
uvoľnenieKlávesu
.public void zadanieZnaku()
Shift
, Ctrl
, Cmd
a podobne táto
udalosť nevzniká. Použite metódu
údajeUdalostí.klávesnica()
na získanie podrobnejších údajov o tejto udalosti.
Užitočné sú aj ďalšie metódy triedy ÚdajeUdalostí
uvedené v zozname nižšie.
Pre túto udalosť najmä znak()
a znak(char)