public static final class GRobot.Svet extends JFrame
Majiteľom sveta je hlavný robot. Je to prvý vytvorený robot, ktorý má o niečo vyššie postavenie oproti ostatným robotom. Poskytuje alternatívu k definovaniu obsluhy udalostí a implicitne riadi niektoré procesy.
Vo svete kresliaceho robota jestvujú dve kresliace plátna (podlaha a strop), na ktoré môžu roboty kresliť. Svet umožňuje (okrem iného) napríklad prácu s obrázkami, zvukmi, vstupmi a výstupmi údajov, náhodnými číslami a časovačom, ktorý požadujú niektoré aktivity robotov.
Niektoré príkazy sveta sú zhromaždené v nasledujúcom jednoduchom
príklade hry na ozvenu – všetko, čo používateľ zadá do vstupného
riadka a potvrdí klávesom Enter
, sa zopakuje vypísaním na
obrazovku:
Svet
.skry
();Svet
.začniVstup
();Svet
.neskrývajVstupnýRiadok
();Svet
.vymažPonuku
();Svet
.zobraz
();Svet
.farbaTextu
(hnedá
);Svet
.vypíšRiadok
("Hra na ozvenu…"
,riadok
);Svet
.farbaTextu
(tmavotyrkysová
);new
ObsluhaUdalostí
() {@
Overridepublic
void
potvrdenieÚdajov
() {Svet
.vypíšRiadok
(" Ozvena:"
,Svet
.prevezmiReťazec
()); } };
Nasledujúci rozsiahlejší príklad ukazuje implementáciu primitívneho prehliadača obrázkov:
public
class
PrehliadačObrázkovextends
GRobot
{// Názov práve prehliadaného obrázka
private
String
obrázok =null
;// Zoznam obrázkov načítaný z priečinka
private
String
[] zoznam =null
;// Index posledného obrázka zobrazeného zo zoznamu
private
int
index = -1
;// Konštruktor
private
PrehliadačObrázkov() {// Nastavenie rozmerov plátna na rozmery prvého zobrazovacieho
// zariadenia (prvého monitora)
super
(Svet
.šírkaZariadenia
(),Svet
.výškaZariadenia
()); }// Metóda slúžiaca na upravenie mierky obrázka podľa
// rozmerov viditeľnej časti plátna
public
void
upravMierku() {if
(null
!= obrázok) {if
(Svet
.šírkaObrázka
(obrázok) >Svet
.viditeľnáŠírka
())veľkosť
(Svet
.viditeľnáŠírka
());else
veľkosť
(Svet
.šírkaObrázka
(obrázok));if
(veľkosť
() *Svet
.výškaObrázka
(obrázok) /Svet
.šírkaObrázka
(obrázok) >Svet
.viditeľnáVýška
())veľkosť
(Svet
.šírkaObrázka
(obrázok) *Svet
.viditeľnáVýška
() /Svet
.výškaObrázka
(obrázok)); } }// Nastavenie nového prehliadaného obrázka
public
boolean
nastavObrázok(String
názov) {if
(null
!= (obrázok = názov)) { názov = názov.toLowerCase
();if
(názov.endsWith
(".png"
) || názov.endsWith
(".jpeg"
) || názov.endsWith
(".jpg"
)) {veľkosť
(Svet
.šírkaObrázka
(obrázok));vlastnýTvar
(obrázok); upravMierku();return
true
; } }predvolenýTvar
(false
);veľkosť
(10
);return
false
; }// Metóda slúžiaca na cyklické prehliadanie všetkých obrázkov v priečinku
public
void
prehliadaj() {if
(null
== zoznam) nastavObrázok(null
);else
{for
(int
i =0
; i < zoznam.length; ++i) {if
(++index >= zoznam.length) index =0
;if
(nastavObrázok(zoznam[index]))break
; } } }// Uvoľnenie ľubovoľného klávesu bude znamenať prehliadanie nasledujúceho
// obrázka
@
Overridepublic
void
uvoľnenieKlávesu
() { prehliadaj(); }// Zmena veľkosti okna bude mať za následok upravenie mierky prehliadaného
// obrázka
@
Overridepublic
void
zmenaVeľkostiOkna
() { upravMierku(); }// Pustenie súboru (priečinka) nad plátnom bude mať za následok spustenie
// prehliadania
@
Overridepublic
void
pustenieSúboru
(String
súbor) {// Ak je pustený „súbor“ (resp. položka) priečinok, tak sa spustí
// prehliadanie priečinka (ak táto akcia náhodou zlyhá, tak metóda
// prehliadaj sa automaticky postará o to, aby bol zobrazený dutý
// robot s veľkosťou 10)
if
(Súbor
.jePriečinok
(súbor)) { try {Svet
.priečinokObrázkov
(súbor); zoznam =Súbor
.zoznamSúborov
(súbor); } catch (Exception
e) {Svet
.správa
(e.getMessage
()); zoznam =null
; } prehliadaj(); }// V opačnom prípade sa zoznam vymaže a prehliadač sa zadanú položku
// pokúsi spracovať ako individuálny obrázok (jeho zobrazenie však
// potrvá len do najbližšieho stlačenia, resp. uvoľnenia, klávesu; na
// zabezpečenie inteligentnejšieho správania by bolo potrebné
// implementovať inteligentnejší mechanizmus prehliadania)
else
{ zoznam =null
; nastavObrázok(súbor); } }// Hlavná metóda
public
static
void
main(String
[] args) {new
PrehliadačObrázkov(); } }
JFrame
,
SerializovateľnosťJFrame.AccessibleJFrame
Frame.AccessibleAWTFrame
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Modifikátor a typ | Metóda a opis |
---|---|
static void |
aktivujVstupnyRiadok()
Alias pre
aktivujVstupnýRiadok . |
static void |
aktivujVstupnýRiadok()
V prípade, že vstupný riadok je stále viditeľný, môžeme do neho
touto metódou presmerovať vstup – v riadku sa aktivuje blikajúci
kurzor.
|
static String |
bodVAktivnomSlove(double x,
double y)
Alias pre
bodVAktívnomSlove . |
static String |
bodVAktívnomSlove(double x,
double y)
Overí, či sa bod identifikovaný zadanými súradnicami nachádza
v oblasti niektorého z aktívnych slov.
|
static String |
bodVAktivnomSlove(Poloha poloha)
Alias pre
bodVAktívnomSlove . |
static String |
bodVAktívnomSlove(Poloha poloha)
Funguje rovnako ako metóda
bodVAktívnomSlove , ale namiesto súradníc bodu je zadaný
objekt, ktorý je implementáciou rozhrania Poloha . |
static void |
cakaj(double početSekúnd)
Alias pre
čakaj . |
static boolean |
casovacAktivny()
Alias pre
časovačAktívny . |
static boolean |
celaObrazovka()
Alias pre
celáObrazovka . |
static boolean |
celáObrazovka()
Pokúsi sa prepnúť svet do režimu celej obrazovky.
|
static boolean |
celaObrazovka(boolean celáObrazovka)
Alias pre
celáObrazovka . |
static boolean |
celáObrazovka(boolean celáObrazovka)
Pokúsi sa prepnúť svet do režimu celej obrazovky alebo späť.
|
static boolean |
celaObrazovka(int zariadenie)
Alias pre
celáObrazovka . |
static boolean |
celáObrazovka(int zariadenie)
Pokúsi sa prepnúť svet do režimu celej obrazovky.
|
static boolean |
celaObrazovka(int zariadenie,
boolean celáObrazovka)
Alias pre
celáObrazovka . |
static boolean |
celáObrazovka(int zariadenie,
boolean celáObrazovka)
Pokúsi sa prepnúť svet do režimu celej obrazovky alebo späť.
|
static Object |
citajPremennu(String názov,
Class<?> typ)
Alias pre
čítajPremennú . |
static void |
čakaj(double početSekúnd)
Pozdrží vykonávanie programu na zadaný počet sekúnd.
|
static boolean |
časovačAktívny()
Zistí, či je časovač aktívny.
|
static Object |
čítajPremennú(String názov,
Class<?> typ)
Zistí hodnotu premennej interaktívneho režimu.
|
static double |
dolnyOkraj()
Alias pre
dolnýOkraj . |
static double |
dolnýOkraj()
Alias pre
spodnýOkraj . |
static String |
F(double číslo,
int desatinné)
Táto metóda slúži na jednoduché formátovanie reálnych čísiel.
|
static String |
F(double číslo,
int šírka,
int desatinné)
Táto metóda slúži na jednoduché formátovanie reálnych čísiel.
|
static GRobot.Farba |
farbaBodu(double x,
double y)
Zistí farbu bodu (jedného pixela) na zadaných súradniciach.
|
static boolean |
farbaBodu(double x,
double y,
Color farba)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje so zadanou farbou.
|
static boolean |
farbaBodu(double x,
double y,
Farebnosť objekt)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje s farbou zadaného objektu.
|
static boolean |
farbaBodu(double x,
double y,
int r,
int g,
int b)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje s farbou zadanou prostredníctvom farebných zložiek.
|
static boolean |
farbaBodu(double x,
double y,
int r,
int g,
int b,
int a)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje s farbou zadanou prostredníctvom farebných zložiek a úrovne
priehľadnosti.
|
static GRobot.Farba |
farbaBodu(Poloha objekt)
Zistí farbu bodu (jedného pixela) na pozícii zadaného objektu.
|
static boolean |
farbaBodu(Poloha objekt,
Color farba)
Zistí, či sa farba bodu (jedného pixela) na súradniciach zadaného
objektu zhoduje so zadanou farbou.
|
static boolean |
farbaBodu(Poloha objekt,
Farebnosť farebnosť)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje s farbou zadaného objektu.
|
static boolean |
farbaBodu(Poloha objekt,
int r,
int g,
int b)
Zistí, či sa farba bodu (jedného pixela) na súradniciach zadaného
objektu zhoduje s farbou zadanou prostredníctvom farebných zložiek.
|
static boolean |
farbaBodu(Poloha objekt,
int r,
int g,
int b,
int a)
Zistí, či sa farba bodu (jedného pixela) na súradniciach zadaného
objektu zhoduje s farbou zadanou prostredníctvom farebných zložiek
a úrovne priehľadnosti.
|
static GRobot.Farba |
farbaNaMysi()
Alias pre
farbaNaMyši . |
static boolean |
farbaNaMysi(Color farba)
Alias pre
farbaNaMyši . |
static boolean |
farbaNaMysi(Farebnosť objekt)
Alias pre
farbaNaMyši . |
static boolean |
farbaNaMysi(int r,
int g,
int b)
Alias pre
farbaNaMyši . |
static boolean |
farbaNaMysi(int r,
int g,
int b,
int a)
Alias pre
farbaNaMyši . |
static GRobot.Farba |
farbaNaMyši()
Zistí farbu bodu (jedného pixela) na súradniciach myši.
|
static boolean |
farbaNaMyši(Color farba)
Zistí, či sa farba bodu (jedného pixela) na súradniciach myši
zhoduje so zadanou farbou.
|
static boolean |
farbaNaMyši(Farebnosť objekt)
Zistí, či sa farba bodu (jedného pixela) na súradniciach myši
zhoduje so zadanou farbou.
|
static boolean |
farbaNaMyši(int r,
int g,
int b)
Zistí, či je farba bodu (jedného pixela) na súradniciach myši
zhodná s farbou zadanou prostredníctvom farebných zložiek.
|
static boolean |
farbaNaMyši(int r,
int g,
int b,
int a)
Zistí, či sa farba bodu (jedného pixela) na súradniciach myši
zhoduje s farbou zadanou prostredníctvom farebných zložiek
a úrovne priehľadnosti.
|
static GRobot.Farba |
farbaPozadia()
|
static void |
farbaPozadia(Color nováFarba)
|
static void |
farbaPozadia(Farebnosť objekt)
Nastaví farbu pozadia sveta podľa farby zadaného objektu.
|
static GRobot.Farba |
farbaPozadia(int r,
int g,
int b)
Nastav farbu pozadia sveta.
|
static GRobot.Farba |
farbaPozadia(int r,
int g,
int b,
int a)
Nastav farbu a (ne)priehľadnosť pozadia sveta.
|
static GRobot.Farba |
farbaPozadiaTextu()
Zistí aktuálnu farbu pozadia výpisu nových textov stropu.
|
static void |
farbaPozadiaTextu(Color nováFarba)
Nastav farbu pozadia textov stropu.
|
static void |
farbaPozadiaTextu(Farebnosť objekt)
Nastav farbu pozadia textov stropu.
|
static GRobot.Farba |
farbaPozadiaTextu(int r,
int g,
int b)
Nastav farbu pozadia textov stropu.
|
static GRobot.Farba |
farbaPozadiaTextu(int r,
int g,
int b,
int a)
Nastav farbu pozadia textov stropu.
|
static GRobot.Farba |
farbaTextu()
Zistí aktuálnu farbu výpisu nových textov stropu.
|
static void |
farbaTextu(Color nováFarba)
Nastav farbu textov stropu.
|
static void |
farbaTextu(Farebnosť objekt)
Nastav farbu textov stropu.
|
static GRobot.Farba |
farbaTextu(int r,
int g,
int b)
Nastav farbu textov stropu.
|
static GRobot.Farba |
farbaTextu(int r,
int g,
int b,
int a)
Nastav farbu textov stropu.
|
static Graphics2D |
grafika()
Vráti grafický objekt sveta na kreslenie v reakcii
ObsluhaUdalostí.dokreslenie() . |
static boolean |
grafikaDoSchranky()
Alias pre
obrázokDoSchránky . |
static boolean |
grafikaDoSchránky()
Alias pre
obrázokDoSchránky . |
static void |
hlasitostPreZvuky(double miera,
Object... súbory)
Alias pre
hlasitosťPreZvuky |
static void |
hlasitosťPreZvuky(double miera,
Object... súbory)
Nastaví hromadne hlasitosť pre všetky uvedené zvuky.
|
static void |
hlasitostPreZvuky(double miera,
String[] súbory)
Alias pre
hlasitosťPreZvuky |
static void |
hlasitosťPreZvuky(double miera,
String[] súbory)
Nastaví hromadne hlasitosť pre všetky uvedené zvuky.
|
static GRobot |
hlavnyRobot()
Alias pre
hlavnýRobot . |
static GRobot |
hlavnýRobot()
|
static double |
hornyOkraj()
Alias pre
hornýOkraj . |
static double |
hornýOkraj()
Alias pre
vrchnýOkraj . |
static boolean |
hraZvukNaPozadi()
Alias pre
hráZvukNaPozadí . |
static boolean |
hráZvukNaPozadí()
Zistí, či je aktívne prehrávanie zvuku na pozadí, ktoré bolo
spustené metódou
zvukNaPozadí . |
static void |
ikona(Image obrázok)
Nastaví oknu aplikácie ikonu podľa zadaného obrázka.
|
static void |
ikona(String súbor)
|
static String |
interaktivnaInstancia()
Alias pre
interaktívnaInštancia . |
static void |
interaktivnaInstancia(String inštancia)
Alias pre
interaktívnaInštancia . |
static String |
interaktívnaInštancia()
|
static void |
interaktívnaInštancia(String inštancia)
Nastaví alebo zruší aktívnu inštanciu
pre interaktívny režim.
|
static boolean |
interaktivnyRezim()
Alias pre
interaktívnyRežim . |
static void |
interaktivnyRezim(boolean zapni)
Alias pre
interaktívnyRežim . |
static boolean |
interaktívnyRežim()
Zistí stav interaktívneho režimu pre svet.
|
static void |
interaktívnyRežim(boolean zapni)
Zapne alebo vypne interaktívny režim pre svet.
|
static double |
intervalCasovaca()
Alias pre
intervalČasovača . |
static double |
intervalČasovača()
Vráti časový interval časovača v sekundách.
|
static int |
kodPoslednejChyby()
Alias pre
kódPoslednejChyby . |
static int |
kódPoslednejChyby()
Získa kód poslednej chyby, ktorá nastala počas vykonávania príkazov
interaktívneho režimu
alebo skriptu.
|
static void |
koniec()
Skončí aplikáciu.
|
static void |
koniec(int kód)
Skončí aplikáciu s návratovým kódom pre opreračný systém.
|
static boolean |
kreslenie()
Overí, či je automatické prekresľovanie sveta zapnuté.
|
static void |
kresli()
Zapne automatické prekresľovanie sveta, ktoré bolo vypnuté metódou
nekresli . |
static double |
kubickaInterpolácia(double v0,
double v1,
double v2,
double v3,
double t)
Alias pre
kubickáInterpolácia . |
static double |
kubickáInterpolácia(double v0,
double v1,
double v2,
double v3,
double t)
Kubická interpolácia je počítaná zo štyroch hodnôt.
|
static double |
lavyOkraj()
Alias pre
ľavýOkraj . |
static double |
ľavýOkraj()
|
static double |
linearnaInterpolacia(double a,
double b,
double t)
Alias pre
lineárnaInterpolácia . |
static double |
lineárnaInterpolácia(double a,
double b,
double t)
Pomocou lineárnej interpolácie je možné získať ľubovoľnú
„priamočiaru“ hodnotu ležiacu medzi hodnotami
a
a b a to s pomocou parametra t . |
static String |
mysVAktivnomSlove()
Alias pre
myšVAktívnomSlove . |
static String |
myšVAktívnomSlove()
Overí, či sa súradnice kurzora myši nachádzajú v oblasti niektorého
z aktívnych slov.
|
static Long |
nacitajCeleCislo(String výzva)
Alias pre
načítajCeléČíslo . |
static Long |
nacitajCeleCislo(String výzva,
String titulok)
Alias pre
načítajCeléČíslo . |
static String |
nacitajHeslo(String výzva)
Alias pre
načítajHeslo . |
static String |
nacitajHeslo(String výzva,
String titulok)
Alias pre
načítajHeslo . |
static void |
nacitajObrazky(Object... súbory)
Alias pre
načítajObrázky . |
static void |
nacitajObrazky(String[] súbory)
Alias pre
načítajObrázky . |
static Image |
nacitajObrazok(String súbor)
Alias pre
načítajObrázok . |
static Double |
nacitajRealneCislo(String výzva)
Alias pre
načítajReálneČíslo . |
static Double |
nacitajRealneCislo(String výzva,
String titulok)
Alias pre
načítajReálneČíslo . |
static String |
nacitajRetazec(String výzva)
Alias pre
načítajReťazec . |
static String |
nacitajRetazec(String výzva,
String titulok)
Alias pre
načítajReťazec . |
static GRobot.Zvuk |
nacitajZvuk(String súbor)
Alias pre
načítajZvuk . |
static void |
nacitajZvuky(Object... súbory)
Alias pre
načítajZvuky . |
static void |
nacitajZvuky(String[] súbory)
Alias pre
načítajZvuky . |
static Long |
načítajCeléČíslo(String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie údajov (očakávaný je celočíselný údaj).
|
static Long |
načítajCeléČíslo(String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie údajov (očakávaný je celočíselný údaj).
|
static String |
načítajHeslo(String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie hesla.
|
static String |
načítajHeslo(String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie hesla.
|
static void |
načítajKonfiguráciuSveta()
Načíta konfiguráciu sveta
(a plátien).
|
static void |
načítajObrázky(Object... súbory)
Táto metóda slúži na načítanie zadaných obrázkov do vnútornej
pamäte sveta (napríklad pri štarte aplikácie).
|
static void |
načítajObrázky(String[] súbory)
Táto metóda slúži na načítanie zadaných obrázkov do vnútornej
pamäte sveta (napríklad pri štarte aplikácie).
|
static Image |
načítajObrázok(String súbor)
Načíta do vnútornej pamäte sveta zadaný obrázok zo súboru a vráti
ho v objekte typu
Image . |
static Double |
načítajReálneČíslo(String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie údajov (očakávaný je číselný údaj).
|
static Double |
načítajReálneČíslo(String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie údajov (očakávaný je číselný údaj).
|
static String |
načítajReťazec(String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie údajov.
|
static String |
načítajReťazec(String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie údajov.
|
static GRobot.Zvuk |
načítajZvuk(String súbor)
Načíta do vnútornej pamäte sveta zadaný zvuk zo súboru a vráti ho
v objekte typu
GRobot.Zvuk . |
static void |
načítajZvuky(Object... súbory)
Táto metóda slúži na načítanie zadaných zvukových súborov do
vnútornej pamäte sveta (napríklad pri štarte aplikácie).
|
static void |
načítajZvuky(String[] súbory)
Táto metóda slúži na načítanie zadaných zvukových súborov do
vnútornej pamäte sveta (napríklad pri štarte aplikácie).
|
static long |
nahodneCeleCislo()
Alias pre
náhodnéCeléČíslo . |
static long |
nahodneCeleCislo(long hodnota)
Alias pre
náhodnéCeléČíslo . |
static long |
nahodneCeleCislo(long min,
long max)
Alias pre
náhodnéCeléČíslo . |
static long |
náhodnéCeléČíslo()
Generovanie náhodného celého čísla v celom rozsahu
long . |
static long |
náhodnéCeléČíslo(long hodnota)
Generovanie náhodného celého čísla v rozsahu od nula
po zadanú hodnotu parametra (vrátane).
|
static long |
náhodnéCeléČíslo(long min,
long max)
Generovanie náhodného celého čísla v zadanom rozsahu.
|
static double |
nahodneRealneCislo()
Alias pre
náhodnéReálneČíslo . |
static double |
nahodneRealneCislo(double hodnota)
Alias pre
náhodnéReálneČíslo . |
static double |
nahodneRealneCislo(double min,
double max)
Alias pre
náhodnéReálneČíslo . |
static double |
náhodnéReálneČíslo()
Generovanie náhodného reálneho čísla v rozsahu od nula
po jeden.
|
static double |
náhodnéReálneČíslo(double hodnota)
Generovanie náhodného reálneho čísla v rozsahu od nula
po zadanú hodnotu parametra.
|
static double |
náhodnéReálneČíslo(double min,
double max)
Generovanie náhodného reálneho čísla v zadanom rozsahu.
|
static double |
najmensieX()
Alias pre
najmenšieX . |
static double |
najmensieY()
Alias pre
najmenšieY . |
static double |
najmenšieX()
|
static double |
najmenšieY()
|
static double |
najvacsieX()
Alias pre
najväčšieX . |
static double |
najvacsieY()
Alias pre
najväčšieY . |
static double |
najväčšieX()
|
static double |
najväčšieY()
|
static boolean |
neboloPrekreslene()
Alias pre
nebolPrekreslený . |
static boolean |
neboloPrekreslené()
Alias pre
nebolPrekreslený . |
static boolean |
nebolPrekresleny()
Alias pre
nebolPrekreslený . |
static boolean |
nebolPrekreslený()
Zistí stav príznaku zamietnutej požiadavky na automatické prekreslenie.
|
static void |
nekresli()
Vypne automatické prekresľovanie sveta (ktoré je vykonávané pri
rôznej aktivite robotov, zmene niektorých parametrov sveta
a podobne).
|
static void |
neskryvajVstupnyRiadok()
Alias pre
neskrývajVstupnýRiadok . |
static void |
neskrývajVstupnýRiadok()
Prikáže vstupnému riadku, aby sa neskrýval po potvrdení klávesom
Enter . |
static boolean |
neskryvajVstupnyRiadok(boolean začniVstup)
Alias pre
neskrývajVstupnýRiadok . |
static boolean |
neskrývajVstupnýRiadok(boolean začniVstup)
Prikáže vstupnému riadku, aby sa neskrýval po potvrdení klávesom
Enter . |
static void |
nezalamujTexty()
Vypne zalamovanie textov vnútornej konzoly stropu.
|
static void |
novyKurzorMysi(BufferedImage obrázok,
double x,
double y,
String meno)
Alias pre
novýKurzorMyši . |
static void |
novyKurzorMysi(BufferedImage obrázok,
int x,
int y,
String meno)
Alias pre
novýKurzorMyši . |
static void |
novýKurzorMyši(BufferedImage obrázok,
double x,
double y,
String meno)
Alias pre
novýKurzorMyši . |
static void |
novýKurzorMyši(BufferedImage obrázok,
int x,
int y,
String meno)
Definuje nový kurzor myši použiteľný v hlavnom okne aplikácie.
|
static void |
obrazok(double x,
double y,
Image obrázok)
Alias pre
obrázok . |
static void |
obrázok(double x,
double y,
Image obrázok)
Nakreslí na zadaných súradniciach na podlahe obrázok.
|
static void |
obrazok(double x,
double y,
String súbor)
Alias pre
obrázok . |
static void |
obrázok(double x,
double y,
String súbor)
Nakreslí na zadaných súradniciach na podlahe obrázok.
|
static void |
obrazok(Image obrázok)
Alias pre
obrázok . |
static void |
obrázok(Image obrázok)
Nakreslí v strede podlahy zadaný obrázok.
|
static void |
obrazok(Poloha objekt,
Image obrázok)
Alias pre
obrázok . |
static void |
obrázok(Poloha objekt,
Image obrázok)
Nakreslí na súradniciach zadaného objektu na podlahe obrázok.
|
static void |
obrazok(Poloha objekt,
String súbor)
Alias pre
obrázok . |
static void |
obrázok(Poloha objekt,
String súbor)
Nakreslí na súradniciach zadaného objektu na podlahe obrázok.
|
static void |
obrazok(String súbor)
Alias pre
obrázok . |
static void |
obrázok(String súbor)
Nakreslí v strede podlahy zadaný obrázok.
|
static boolean |
obrazokDoSchranky()
Alias pre
obrázokDoSchránky . |
static boolean |
obrázokDoSchránky()
Vloží obrázok (grafiku) sveta do schránky.
|
static void |
odlozCasovac(double čas)
Alias pre
odložČasovač . |
static void |
odložČasovač(double čas)
Odloží časovač o zadaný časový interval v sekundách.
|
static void |
odoberKlavesovuSkratku(String príkaz)
Alias pre
odoberKlávesovúSkratku . |
static void |
odoberKlávesovúSkratku(String príkaz)
Odoberie definovanú klávesovú skratku, ktorá je previazaná so
zadaným príkazom.
|
static int |
otazka(String otázka)
Alias pre
otázka . |
static int |
otázka(String otázka)
Zobrazí štandardný dialóg s otázkou na používateľa
(odpoveď používateľ volí stlačením tlačidla).
|
static int |
otazka(String otázka,
Object[] tlačidlá)
Alias pre
otázka . |
static int |
otázka(String otázka,
Object[] tlačidlá)
Zobrazí štandardný dialóg s otázkou na používateľa
(odpoveď používateľ volí stlačením tlačidla).
|
static int |
otazka(String otázka,
Object[] tlačidlá,
int predvolenéTlačidlo)
Alias pre
otázka . |
static int |
otázka(String otázka,
Object[] tlačidlá,
int predvolenéTlačidlo)
Zobrazí štandardný dialóg s otázkou na používateľa
(odpoveď používateľ volí stlačením tlačidla).
|
static int |
otazka(String otázka,
String titulok)
Alias pre
otázka . |
static int |
otázka(String otázka,
String titulok)
Zobrazí štandardný dialóg s otázkou na používateľa
(odpoveď používateľ volí stlačením tlačidla).
|
static int |
otazka(String otázka,
String titulok,
Object[] tlačidlá)
Alias pre
otázka . |
static int |
otázka(String otázka,
String titulok,
Object[] tlačidlá)
Zobrazí štandardný dialóg s otázkou na používateľa
(odpoveď používateľ volí stlačením tlačidla).
|
static int |
otazka(String otázka,
String titulok,
Object[] tlačidlá,
int predvolenéTlačidlo)
Alias pre
otázka . |
static int |
otázka(String otázka,
String titulok,
Object[] tlačidlá,
int predvolenéTlačidlo)
Zobrazí štandardný dialóg s otázkou na používateľa
(odpoveď používateľ volí stlačením tlačidla).
|
static void |
pipni()
Alias pre
pípni . |
static void |
pípni()
Aplikácia vydá štandardný zvuk operačného systému.
|
static GRobot.Pismo |
pismo()
Alias pre
písmo . |
static GRobot.Písmo |
písmo()
Čítaj aktuálny typ písma textov stropu.
|
static void |
pismo(Font novéPísmo)
Alias pre
písmo . |
static void |
písmo(Font novéPísmo)
Nastav nový typ písma textov stropu.
|
static GRobot.Pismo |
pismo(String názov,
int veľkosť)
Alias pre
písmo . |
static GRobot.Písmo |
písmo(String názov,
int veľkosť)
Nastav nový typ písma textov stropu.
|
static void |
pisNa(double x,
double y,
Object... argumenty)
Alias pre
píšNa . |
static void |
pisRiadokNa(double x,
double y,
Object... argumenty)
Alias pre
píšRiadokNa . |
static void |
píšNa(double x,
double y,
Object... argumenty)
Vypíše sériu argumentov na zadaných súradniciach v tvare textu na
strope.
|
static void |
píšRiadokNa(double x,
double y,
Object... argumenty)
Vypíše sériu argumentov na zadaných súradniciach v tvare textu na
strope a posunie sa na ďalší riadok.
|
static int |
pocetZariadení()
Alias pre
početZariadení . |
static int |
početZariadení()
Zistí počet obrazovkových zariadení, ktoré sú dostupné na tomto
počítači.
|
static GRobot.PoložkaPonuky |
polozkaPonukyKoniec()
Alias pre
položkaPonukyKoniec . |
static GRobot.PoložkaPonuky |
polozkaPonukyPrekreslit()
Alias pre
položkaPonukyPrekresliť . |
static GRobot.PoložkaPonuky |
polozkaPonukyVymazat()
Alias pre
položkaPonukyVymazať . |
static GRobot.PoložkaPonuky |
položkaPonukyKoniec()
Poskytne preddefinovanú položku „Koniec“ na prípadné úpravy.
|
static GRobot.PoložkaPonuky |
položkaPonukyPrekresliť()
Poskytne preddefinovanú položku „Prekresliť“ na prípadné úpravy.
|
static GRobot.PoložkaPonuky |
položkaPonukyVymazať()
Poskytne preddefinovanú položku „Vymazať“ na prípadné úpravy.
|
static String |
popisVstupnehoRiadka()
Alias pre
popisVstupnéhoRiadka . |
static String |
popisVstupnéhoRiadka()
|
static void |
popisVstupnehoRiadka(String výzva)
Alias pre
popisVstupnéhoRiadka . |
static void |
popisVstupnéhoRiadka(String výzva)
|
static GRobot.KontextovaPolozka |
poslednaKontextovaPolozka()
Alias pre
poslednáKontextováPoložka . |
static GRobot.KontextováPoložka |
poslednáKontextováPoložka()
Vráti objekt
KontextováPoložka
s naposledy zvolenou kontextovou položkou ponuky. |
static Object |
poslednaNavratovaHodnota()
Alias pre
poslednáNávratováHodnota . |
static Object |
poslednáNávratováHodnota()
Získa návratovú hodnotu naposledy vykonaného príkazu
interaktívneho režimu
alebo skriptu.
|
static GRobot.PolozkaPonuky |
poslednaPolozkaPonuky()
Alias pre
poslednáPoložkaPonuky . |
static GRobot.PoložkaPonuky |
poslednáPoložkaPonuky()
Vráti objekt
PoložkaPonuky s naposledy
zvolenou položkou ponuky. |
static void |
potvrdVstup()
Alias pre
potvrďVstup . |
static void |
potvrďVstup()
Vykoná pre vstupný riadok rovnakú akciu ako pri stlačení klávesu
Enter . |
static void |
pouziKonfiguraciu()
Alias pre
použiKonfiguráciu . |
static void |
pouziKonfiguraciu(int x,
int y,
int šírka,
int výška)
Alias pre
použiKonfiguráciu . |
static void |
pouziKonfiguraciu(String názovSúboru)
Alias pre
použiKonfiguráciu . |
static void |
pouziKonfiguraciu(String názovSúboru,
int x,
int y,
int šírka,
int výška)
Alias pre
použiKonfiguráciu . |
static void |
použiKonfiguráciu()
Zapne automatické spracovanie konfiguračného súboru sveta.
|
static void |
použiKonfiguráciu(int x,
int y,
int šírka,
int výška)
Zapne automatickú
konfiguráciu, pričom umožní zadať počiatočnú polohu a rozmery
okna.
|
static void |
použiKonfiguráciu(String názovSúboru)
Zapne automatické spracovanie konfiguračného súboru sveta.
|
static void |
použiKonfiguráciu(String názovSúboru,
int x,
int y,
int šírka,
int výška)
Zapne automatickú
konfiguráciu, pričom umožní zadať počiatočnú polohu a rozmery
okna.
|
static void |
povolViacnasobnuObsluhuUdalosti()
Alias pre
povoľViacnásobnúObsluhuUdalostí . |
static void |
povoľViacnásobnúObsluhuUdalostí()
Po spustení tejto metódy bude možné vytváranie viacerých verzií
obsluhy udalostí, ktoré môžu byť
neskôr podľa potreby uvedené do činnosti metódou
presmerujObsluhuUdalostí . |
static double |
pravyOkraj()
Alias pre
pravýOkraj . |
static double |
pravýOkraj()
|
static void |
predvolenaFarbaPozadia()
Alias pre
predvolenáFarbaPozadia . |
static void |
predvolenáFarbaPozadia()
Nastav predvolenú farbu pozadia.
|
static void |
predvolenaFarbaPozadiaTextu()
Alias pre
predvolenáFarbaPozadiaTextu . |
static void |
predvolenáFarbaPozadiaTextu()
Zmení farbu pozadia textov stropu na predvolenú.
|
static void |
predvolenaFarbaTextu()
Alias pre
predvolenáFarbaTextu . |
static void |
predvolenáFarbaTextu()
Zmení farbu textov stropu na predvolenú.
|
static void |
predvolenePismo()
Alias pre
predvolenéPísmo . |
static void |
predvolenéPísmo()
Nastav predvolený typ písma textov stropu.
|
static void |
prekresli()
Jednorazovo prekreslí obsah sveta (bez ohľadu na použitie metódy
nekresli ). |
static boolean |
premennaExistuje(String názov,
Class<?> typ)
Alias pre
premennáJestvuje . |
static boolean |
premennáExistuje(String názov,
Class<?> typ)
Alias pre
premennáJestvuje . |
static boolean |
premennaJestvuje(String názov,
Class<?> typ)
Alias pre
premennáJestvuje . |
static boolean |
premennáJestvuje(String názov,
Class<?> typ)
Zistí, či premená interaktívneho režimu so zadaným názvom a typom jestvuje (je
definovaná).
|
static void |
presmerujObsluhuUdalosti(GRobot.ObsluhaUdalostí obsluha)
Alias pre
presmerujObsluhuUdalostí . |
static void |
presmerujObsluhuUdalostí(GRobot.ObsluhaUdalostí obsluha)
Presmeruje spracovanie udalostí do inej inštancie triedy
ObsluhaUdalostí . |
static Long |
prevezmiCeleCislo()
Alias pre
prevezmiCeléČíslo . |
static Long |
prevezmiCeléČíslo()
Vráti celé číslo zadané do vstupného riadka po potvrdení klávesom
Enter . |
static Double |
prevezmiRealneCislo()
Alias pre
prevezmiReálneČíslo . |
static Double |
prevezmiReálneČíslo()
Vráti reálne číslo zadané do vstupného riadka po potvrdení
klávesom
Enter . |
static String |
prevezmiRetazec()
Alias pre
prevezmiReťazec . |
static String |
prevezmiReťazec()
Vráti reťazec zadaný do vstupného riadka po potvrdení klávesom
Enter . |
static String |
prevezmiZruseneUdaje()
Alias pre
prevezmiZrušenéÚdaje . |
static String |
prevezmiZrušenéÚdaje()
Vráti reťazec, ktorý obsahoval vstupný riadok tesne pred zrušením
klávesom
Esc . |
static void |
pridajKlavesovuSkratku(String príkaz,
int kódKlávesu)
Alias pre
pridajKlávesovúSkratku . |
static void |
pridajKlávesovúSkratku(String príkaz,
int kódKlávesu)
Definuje novú klávesovú skratku s modifikátorom pre ponuky, ktorá
bude previazaná so zadaným príkazom.
|
static void |
pridajKlavesovuSkratku(String príkaz,
int kódKlávesu,
int modifikátor)
Alias pre
pridajKlávesovúSkratku . |
static void |
pridajKlávesovúSkratku(String príkaz,
int kódKlávesu,
int modifikátor)
Definuje novú klávesovú skratku, ktorá bude previazaná so zadaným
príkazom.
|
static void |
pridajKlavesovuSkratku(String príkaz,
int kódKlávesu,
int modifikátor,
boolean ajVstupnýRiadok)
Alias pre
pridajKlávesovúSkratku . |
static void |
pridajKlávesovúSkratku(String príkaz,
int kódKlávesu,
int modifikátor,
boolean ajVstupnýRiadok)
Definuje novú klávesovú skratku, ktorá bude previazaná so zadaným
príkazom.
|
static void |
pridajOddelovacPonuky()
Alias pre
pridajOddeľovačPonuky . |
static void |
pridajOddeľovačPonuky()
Pridá do hlavnej ponuky oddeľovač.
|
static void |
pridajPolozkuHlavnejPonuky(String text)
Alias pre
pridajPoložkuHlavnejPonuky . |
static void |
pridajPolozkuHlavnejPonuky(String text,
int mnemonickáSkratka)
Alias pre
pridajPoložkuHlavnejPonuky . |
static GRobot.PolozkaPonuky |
pridajPolozkuPonuky(String text)
Alias pre
pridajPoložkuPonuky . |
static GRobot.PolozkaPonuky |
pridajPolozkuPonuky(String text,
int mnemonickáSkratka)
Alias pre
pridajPoložkuPonuky . |
static GRobot.PolozkaPonuky |
pridajPolozkuPonuky(String text,
int mnemonickáSkratka,
int klávesováSkratka)
Alias pre
pridajPoložkuPonuky . |
static void |
pridajPolozkuPonukyKoniec()
Alias pre
pridajPoložkuPonukyKoniec . |
static void |
pridajPolozkuPonukyPrekreslit()
Alias pre
pridajPoložkuPonukyPrekresliť . |
static void |
pridajPolozkuPonukyVymazat()
Alias pre
pridajPoložkuPonukyVymazať . |
static void |
pridajPoložkuHlavnejPonuky(String text)
Rozšíri hlavnú ponuku o ďalšiu položku alebo prepíše aktuálnu
položku hlavnej ponuky.
|
static void |
pridajPoložkuHlavnejPonuky(String text,
int mnemonickáSkratka)
Rozšíri hlavnú ponuku o ďalšiu položku alebo prepíše aktuálnu
položku hlavnej ponuky.
|
static GRobot.PoložkaPonuky |
pridajPoložkuPonuky(String text)
Pridá do hlavnej ponuky položku so zadaným textom.
|
static GRobot.PoložkaPonuky |
pridajPoložkuPonuky(String text,
int mnemonickáSkratka)
Funguje rovnako ako
pridajPoložkuPonuky(String) s tým, že
definuje novej položke mnemonickú skratku (skratky, ktoré sú
v položkách ponuky znázorňované podčiarknutým písmenom). |
static GRobot.PoložkaPonuky |
pridajPoložkuPonuky(String text,
int mnemonickáSkratka,
int klávesováSkratka)
Funguje rovnako ako
pridajPoložkuPonuky(String, int)
s tým, že definuje novej položke okrem mnemonickej aj klávesovú
skratku (skratky, ktoré pri v položkách ponuky znázorňované
v pravej časti textom CTRL + písmeno). |
static void |
pridajPoložkuPonukyKoniec()
Pridá do ponuky preddefinovanú položku „Koniec“.
|
static void |
pridajPoložkuPonukyPrekresliť()
Pridá do ponuky položku „Prekresliť“.
|
static void |
pridajPoložkuPonukyVymazať()
Pridá do ponuky položku „Vymazať“.
|
static String |
priecinokObrazkov()
Alias pre
priečinokObrázkov . |
static void |
priecinokObrazkov(String priečinok)
Alias pre
priečinokObrázkov . |
static String |
priecinokZvukov()
Alias pre
priečinokZvukov . |
static void |
priecinokZvukov(String priečinok)
Alias pre
priečinokZvukov . |
static String |
priečinokObrázkov()
Vráti reťazec s aktuálnym priečinkom, z ktorého sú načítavané
obrázky.
|
static void |
priečinokObrázkov(String priečinok)
Ak sú všetky obrázky uložené v spoločnom priečinku, môžeme pre nich
touto metódou nastaviť načítavanie zo stanoveného priečinka.
|
static String |
priečinokZvukov()
Vráti reťazec s aktuálnym priečinkom, z ktorého sú načítavané
zvuky.
|
static void |
priečinokZvukov(String priečinok)
Ak sú všetky zvuky uložené v spoločnom priečinku, môžeme pre nich
touto metódou nastaviť načítavanie zo stanoveného priečinka.
|
static void |
priehladnost(double prePodlahu,
double preStrop)
Alias pre
priehľadnosť . |
static void |
priehľadnosť(double prePodlahu,
double preStrop)
Naraz nastaví priehľadnosť pre podlahu aj strop.
|
static void |
pripojTextVstupnehoRiadka(String naPripojenie)
Alias pre
pripojTextVstupnéhoRiadka . |
static void |
pripojTextVstupnéhoRiadka(String naPripojenie)
Pripojí zadaný text na koniec vstupného riadka.
|
static void |
registrujRobota()
Registruje hlavného robota
v konfigurácii sveta.
|
static void |
registrujRobota(GRobot robot)
Registruje robota v konfigurácii.
|
static void |
registrujRobota(GRobot robot,
String meno)
Registruje robota v konfigurácii podľa zadaného mena.
|
static void |
registrujRobota(String meno)
Registruje robota v konfigurácii podľa jeho (vopred priradeného)
mena.
|
static String |
retazecSkratkyPrikazu(String príkaz)
Alias pre
reťazecSkratkyPríkazu . |
static String |
reťazecSkratkyPríkazu(String príkaz)
Táto metóda prevedie definíciu klávesovej skratku, ktorá je
priradená zadanému príkazu do textovej podoby.
|
static boolean |
rezimLadenia()
Alias pre
režimLadenia . |
static void |
rezimLadenia(boolean zapniLadenie)
Alias pre
režimLadenia . |
static boolean |
režimLadenia()
Zistí, či je zapnutý režim ladenia knižnice grafického robota.
|
static void |
režimLadenia(boolean zapniLadenie)
Zapne alebo vypne režim ladenia knižnice grafického robota.
|
static double |
rotovaneX(double x,
double y,
double uhol)
Alias pre
rotovanéX . |
static double |
rotovanéX(double x,
double y,
double uhol)
Vráti výpočet x-ovej súradnice zadaného bodu pootočeného okolo
stredu súradnicovej sústavy o zadaný uhol.
|
static double |
rotovaneY(double x,
double y,
double uhol)
Alias pre
rotovanéX . |
static double |
rotovanéY(double x,
double y,
double uhol)
Vráti výpočet y-ovej súradnice zadaného bodu pootočeného okolo
stredu súradnicovej sústavy o zadaný uhol.
|
static int |
sirka()
Alias pre
šírka . |
static int |
sirkaObrazka(String súbor)
Alias pre
šírkaObrázka . |
static int |
sirkaOkna()
Alias pre
šírkaOkna . |
static int |
sirkaZariadenia()
Alias pre
šírkaZariadenia . |
static int |
sirkaZariadenia(int zariadenie)
Alias pre
šírkaZariadenia . |
static KeyStroke |
skratkaPrikazu(String príkaz)
Alias pre
skratkaPríkazu . |
static KeyStroke |
skratkaPríkazu(String príkaz)
Táto metóda zistí, aká klávesová skratka je priradená zadanému
príkazu.
|
static boolean |
skriptJeSpusteny()
Alias pre
skriptJeSpustený . |
static boolean |
skriptJeSpustený()
Zistí, či je práve vykonávaný skript, ktorý bol spustený príkazom
spustiSkript
(alebo niektorou jeho modifikáciou). |
static void |
skry()
Skryje hlavné okno.
|
static void |
skryUvodnuObrazovku()
Alias pre
skryÚvodnúObrazovku . |
static void |
skryÚvodnúObrazovku()
Skryje úvodnú obrazovku a zobrazí hlavné okno aplikácie.
|
static void |
skryvajVstupnyRiadok()
Alias pre
skrývajVstupnýRiadok . |
static void |
skrývajVstupnýRiadok()
Umožní vstupnému riadku, aby sa skryl po potvrdení klávesom
Enter alebo po zrušení vstupu klávesom Escape . |
static void |
skryvajVstupnyRiadok(boolean zrušVstup)
Alias pre
skrývajVstupnýRiadok . |
static void |
skrývajVstupnýRiadok(boolean zrušVstup)
Umožní vstupnému riadku, aby sa skryl po potvrdení klávesom
Enter alebo po zrušení vstupu klávesom Escape . |
static double |
spodnyOkraj()
Alias pre
spodnýOkraj . |
static double |
spodnýOkraj()
|
static void |
sprava(String správa)
Alias pre
správa . |
static void |
správa(String správa)
Zobrazí štandardný dialóg so zadanou textovou správou.
|
static void |
sprava(String správa,
String titulok)
Alias pre
správa . |
static void |
správa(String správa,
String titulok)
Zobrazí štandardný dialóg so zadanou textovou správou.
|
static void |
spustiCasovac()
Alias pre
spustiČasovač . |
static void |
spustiCasovac(double čas)
Alias pre
spustiČasovač . |
static void |
spustiČasovač()
Spustí časovač s naposledy zadaným časovým intervalom
(v sekundách) alebo s predvoleným intervalom 40 milisekúnd (ak
nebol v činnosti).
|
static void |
spustiČasovač(double čas)
Spustí časovač so zadaným časovým intervalom v sekundách.
|
static void |
spustiSkript(String skript)
Funguje podobne ako
vykonajSkript(skript) , ale spustí vykonávanie v samostatnom vlákne
Javy, takže môže byť ladené. |
static void |
spustiSkript(String[] riadky)
Funguje podobne ako
vykonajSkript(riadky) , ale spustí vykonávanie v samostatnom vlákne
Javy, takže môže byť ladené. |
static void |
spustiSkript(String skript,
boolean zoSúboru)
Funguje podobne ako
vykonajSkript(skript, zoSúboru) , ale spustí vykonávanie
v samostatnom vlákne Javy, takže môže byť ladené. |
static int |
šírka()
Zistí šírku plátien sveta.
|
static int |
šírkaObrázka(String súbor)
|
static int |
šírkaOkna()
Zistí šírku hlavného okna aplikácie.
|
static int |
šírkaZariadenia()
Zistí šírku dostupného obrazovkového zariadenia.
|
static int |
šírkaZariadenia(int zariadenie)
Zistí šírku dostupného obrazovkového zariadenia.
|
static boolean |
textDoSchranky()
Alias pre
textyDoSchránky . |
static boolean |
textDoSchránky()
Alias pre
textyDoSchránky . |
static String[] |
textNaRiadky(String text,
int dĺžkaRiadka)
Rozdelí dlhý text na riadky s maximálnou zadanou dĺžkou
v znakoch.
|
static String[] |
textNaRiadky(String text,
int dĺžkaRiadka,
boolean zachovajMedzery)
Rozdelí dlhý text na riadky s maximálnou zadanou dĺžkou
v znakoch.
|
static String |
textPoslednejChyby()
Vráti vysvetľujúci text ku kódu poslednej chyby, ktorá nastala
počas vykonávania príkazov
interaktívneho režimu
alebo
skriptu.
|
static String |
textVstupnehoRiadka()
Alias pre
textVstupnéhoRiadka . |
static String |
textVstupnéhoRiadka()
|
static void |
textVstupnehoRiadka(String text)
Alias pre
textVstupnéhoRiadka . |
static void |
textVstupnéhoRiadka(String text)
|
static boolean |
textyDoSchranky()
Alias pre
textyDoSchránky . |
static boolean |
textyDoSchránky()
Vloží do schránky všetky texty vypísané na vnútorných konzolách
podlahy a stropu.
|
static long |
udrzba()
Alias pre
údržba . |
static long |
údržba()
Po pamäťovo náročných operáciách môže byť vhodné uvoľniť
systémové prostriedky.
|
static void |
ulozObrazok(String súbor)
Alias pre
uložObrázok . |
static void |
ulozObrazok(String súbor,
boolean prepísať)
Alias pre
uložObrázok . |
static void |
uložObrázok(String súbor)
Uloží aktuálne zobrazený obsah sveta do súboru s obrázkom.
|
static void |
uložObrázok(String súbor,
boolean prepísať)
Uloží aktuálny obsah sveta do súboru s obrázkom.
|
static void |
upevni()
Upevní hlavné okno (svet) – okno bude mať pevnú veľkosť.
|
static Long |
upravCeleCislo(int celéČíslo,
String výzva)
Alias pre
upravCeléČíslo . |
static Long |
upravCeleCislo(int celéČíslo,
String výzva,
String titulok)
Alias pre
upravCeléČíslo . |
static Long |
upravCeléČíslo(int celéČíslo,
String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
úpravu údajov (očakávaný je celočíselný údaj).
|
static Long |
upravCeléČíslo(int celéČíslo,
String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
úpravu údajov (očakávaný je celočíselný údaj).
|
static void |
upravPriehladnost(double prePodlahu,
double preStrop)
Alias pre
upravPriehľadnosť . |
static void |
upravPriehľadnosť(double prePodlahu,
double preStrop)
Naraz upraví úroveň
priehľadnosti pre podlahu aj strop.
|
static Double |
upravRealneCislo(double reálneČíslo,
String výzva)
Alias pre
upravReálneČíslo . |
static Double |
upravRealneCislo(double reálneČíslo,
String výzva,
String titulok)
Alias pre
upravReálneČíslo . |
static Double |
upravReálneČíslo(double reálneČíslo,
String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
úpravu údajov (očakávaný je číselný údaj).
|
static Double |
upravReálneČíslo(double reálneČíslo,
String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
úpravu údajov (očakávaný je číselný údaj).
|
static String |
upravRetazec(String reťazec,
String výzva)
Alias pre
upravReťazec . |
static String |
upravReťazec(String reťazec,
String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
úpravu údajov.
|
static String |
upravRetazec(String reťazec,
String výzva,
String titulok)
Alias pre
upravReťazec . |
static String |
upravReťazec(String reťazec,
String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
úpravu údajov.
|
static void |
uvolni()
Alias pre
uvoľni . |
static void |
uvoľni()
Uvoľní hlavné okno (svet) – okno nebude mať pevnú veľkosť
(predvolené správanie sveta).
|
static void |
uvolni(Class typ)
Alias pre
uvoľni . |
static void |
uvoľni(Class typ)
Metóda slúži na hromadné vymazanie robotov určitého typu
z vnútorného zoznamu robotov.
|
static void |
uvolni(GRobot ktorý)
Alias pre
uvoľni . |
static void |
uvoľni(GRobot ktorý)
Metóda slúži na odstránenie konkrétneho robota (alebo inštancie
odvodeného typu) z vnútorného zoznamu robotov.
|
static void |
vahaPreZvuky(double miera,
Object... súbory)
Alias pre
váhaPreZvuky |
static void |
váhaPreZvuky(double miera,
Object... súbory)
Nastaví hromadne váhu pre všetky uvedené zvuky.
|
static void |
vahaPreZvuky(double miera,
String[] súbory)
Alias pre
váhaPreZvuky |
static void |
váhaPreZvuky(double miera,
String[] súbory)
Nastaví hromadne váhu pre všetky uvedené zvuky.
|
static int |
verzia(int hlavná,
int vedľajšia)
Porovná aktuálnu verziu robota so zadanou.
|
static int |
viditelnaSirka()
Alias pre
viditeľnáŠírka . |
static int |
viditeľnáŠírka()
Zistí viditeľnú šírku plátien sveta.
|
static int |
viditelnaVyska()
Alias pre
viditeľnáVýška . |
static int |
viditeľnáVýška()
Zistí viditeľnú výšku plátien sveta.
|
static boolean |
viditelny()
Alias pre
viditeľný . |
static boolean |
viditeľný()
Zistí, či je hlavné okno (svet) viditeľné.
|
static double |
vrchnyOkraj()
Alias pre
vrchnýOkraj . |
static double |
vrchnýOkraj()
|
static JTextField |
vstupnyRiadok()
Alias pre
vstupnýRiadok . |
static JTextField |
vstupnýRiadok()
Vráti komponent vstupného riadka, aby s ním mohlo byť manipulované
na nižšej úrovni (úrovni bližšej k systému).
|
static boolean |
vstupnyRiadokZobrazeny()
Alias pre
vstupnýRiadokZobrazený . |
static boolean |
vstupnýRiadokZobrazený()
Overí, či je zobrazený panel vstupného riadka.
|
static boolean |
vykonajPrikaz(String príkaz)
Alias pre
vykonajPríkaz . |
static boolean |
vykonajPríkaz(String príkaz)
Táto metóda je automaticky používaná interaktívnym režimom
a umožňuje používať príkazy, ktoré sú dostupné v tomto režime
za hranicami interaktívneho režimu (t. j. bez nevyhnutnosti jeho aktivácie).
|
static int |
vykonajSkript(String skript)
Vykoná skript zadaný vo forme reťazca.
|
static int |
vykonajSkript(String[] riadky)
Vykoná skript uložený v poli reťazcov.
|
static int |
vykonajSkript(String skript,
boolean zoSúboru)
Vykoná skript zadaný vo forme reťazca alebo vo forme názvu
súboru, z ktorého má byť načítaný.
|
static void |
vymaz()
Alias pre
vymaž . |
static void |
vymazGrafiku()
Alias pre
vymažGrafiku . |
static void |
vymazPonuku()
Alias pre
vymažPonuku . |
static void |
vymazTexty()
Alias pre
vymažTexty . |
static void |
vymaž()
Vymaže obsah sveta.
|
static void |
vymažGrafiku()
Vymaže plátno podlahy a stropu.
|
static void |
vymažPonuku()
Vymaže všetky položky hlavnej ponuky (vrátane predvolených).
|
static void |
vymažTexty()
Vymaže texty podlahy a stropu.
|
static void |
vypis(Object... argumenty)
Alias pre
vypíš . |
static void |
vypisAktivneSlova(String identifikátor,
Object... argumenty)
Alias pre
vypíšAktívneSlovo . |
static void |
vypisAktivneSlovo(String identifikátor,
Object... argumenty)
Alias pre
vypíšAktívneSlovo . |
static void |
vypisNa(double x,
double y,
Object... argumenty)
Alias pre
vypíšNa . |
static void |
vypisRiadok(Object... argumenty)
Alias pre
vypíšRiadok . |
static void |
vypisRiadokNa(double x,
double y,
Object... argumenty)
Alias pre
vypíšRiadokNa . |
static void |
vypíš(Object... argumenty)
Vypíše sériu argumentov v tvare textu na strope.
|
static void |
vypíšAktívneSlová(String identifikátor,
Object... argumenty)
Alias pre
vypíšAktívneSlovo . |
static void |
vypíšAktívneSlovo(String identifikátor,
Object... argumenty)
Vypíše sériu argumentov v tvare textu na strope ako aktívne slová.
|
static void |
vypíšNa(double x,
double y,
Object... argumenty)
Vypíše sériu argumentov na zadaných súradniciach v tvare textu na
strope.
|
static void |
vypíšRiadok(Object... argumenty)
Vypíše sériu argumentov v tvare textu na strope a posunie sa na
ďalší riadok.
|
static void |
vypíšRiadokNa(double x,
double y,
Object... argumenty)
Vypíše sériu argumentov na zadaných súradniciach v tvare textu na
strope a posunie sa na ďalší riadok.
|
static void |
vypln(BufferedImage obrázok)
Alias pre
vyplň . |
static void |
vyplň(BufferedImage obrázok)
Vyplní podlahu zadanou textúrou.
|
static void |
vypln(Color farba)
Alias pre
vyplň . |
static void |
vyplň(Color farba)
Vyplní podlahu zadanou farbou, ktorá prekryje aj
farbu pozadia sveta.
|
static void |
vypln(Farebnosť objekt)
Alias pre
vyplň . |
static void |
vyplň(Farebnosť objekt)
Vyplní podlahu farbou zadaného objektu, ktorá prekryje aj
farbu pozadia sveta.
|
static GRobot.Farba |
vypln(int r,
int g,
int b)
Alias pre
vyplň . |
static GRobot.Farba |
vyplň(int r,
int g,
int b)
Vyplní podlahu farbou zadanou prostredníctvom farebných zložiek.
|
static GRobot.Farba |
vypln(int r,
int g,
int b,
int a)
Alias pre
vyplň . |
static GRobot.Farba |
vyplň(int r,
int g,
int b,
int a)
Vyplní podlahu farbou zadanou prostredníctvom farebných zložiek
a úrovne priehľadnosti.
|
static void |
vypln(String súbor)
Alias pre
vyplň . |
static void |
vyplň(String súbor)
Vyplní podlahu zadanou textúrou.
|
static int |
vyska()
Alias pre
šírka . |
static int |
vyskaObrazka(String súbor)
Alias pre
výškaObrázka . |
static int |
vyskaOkna()
Alias pre
výškaOkna . |
static int |
vyskaZariadenia()
Alias pre
výškaZariadenia . |
static int |
vyskaZariadenia(int zariadenie)
Alias pre
výškaZariadenia . |
static void |
vystred()
Alias pre
vystreď . |
static void |
vystreď()
Presunie okno tak, aby sa nachádzalo v strede obrazovky.
|
static int |
výška()
Zistí výšku plátien sveta.
|
static int |
výškaObrázka(String súbor)
|
static int |
výškaOkna()
Zistí výšku hlavného okna aplikácie.
|
static int |
výškaZariadenia()
Zistí výšku dostupného obrazovkového zariadenia.
|
static int |
výškaZariadenia(int zariadenie)
Zistí výšku dostupného obrazovkového zariadenia.
|
static void |
vyzviRobotov()
Spustením tejto metódy sa pre každého robota (podľa ich
aktuálneho poradia) vykoná reakcia
prijatieVýzvy bez určenia
autora výzvy (autor je rovný null ) a s hodnotou
argumentu kľúč rovnou - 1 . |
static void |
vyzviRobotov(int kľúč)
Spustením tejto metódy sa pre každého robota (podľa ich
aktuálneho poradia) vykoná reakcia
prijatieVýzvy bez určenia
autora výzvy (autor je rovný null ). |
static void |
vyzviRobotov(int kľúč,
boolean obrátene)
Spustením tejto metódy sa pre každého robota (podľa ich
aktuálneho poradia) vykoná reakcia
prijatieVýzvy bez určenia
autora výzvy (autor je rovný null ). |
static double |
vzdialenost(double súradnicaBoduX,
double súradnicaBoduY)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(double súradnicaBoduX,
double súradnicaBoduY)
Zistí vzdialenosť bodu so zadanými súradnicami od stredu
súradnicovej sústavy.
|
static double |
vzdialenost(Poloha objekt)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(Poloha objekt)
Zistí, aká je vzdialenosť zadaného objektu od stredu súradnicovej
sústavy.
|
static double |
vzdialenost(Shape tvar)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(Shape tvar)
Zistí vzdialenosť stredu hraníc[1] zadaného tvaru od
stredu súradnicovej sústavy.
|
static boolean |
zacniVstup()
Alias pre
začniVstup . |
static boolean |
zacniVstup(String výzva)
Alias pre
začniVstup . |
static boolean |
začniVstup()
Zobrazí vstupný riadok v spodnej časti okna.
|
static boolean |
začniVstup(String výzva)
Funguje rovnako ako
začniVstup() , s tým rozdielom, že pred
vstupným riadkom je zobrazená návesť s výzvou. |
static boolean |
zalamujeTexty()
|
static void |
zalamujTexty()
Zapne zalamovanie textov vnútornej konzoly stropu.
|
static void |
zalamujTexty(boolean zalamuj)
|
static void |
zapisPremennu(String názov,
Object hodnota)
Alias pre
zapíšPremennú . |
static void |
zapíšPremennú(String názov,
Object hodnota)
Nastaví novú hodnotu premennej
interaktívneho režimu.
|
static void |
zastavCasovac()
Alias pre
zastavČasovač . |
static void |
zastavČasovač()
Zastaví časovač, ktorý bol spustený metódou
spustiČasovač . |
static void |
zastavZvuky(Object... súbory)
Zastaví všetky uvedené zvuky.
|
static void |
zastavZvuky(String[] súbory)
Zastaví všetky uvedené zvuky.
|
static void |
zbal()
Alias pre
zbaľ . |
static void |
zbaľ()
Prispôsobí veľkosť okna tak, aby sa do neho pohodlne vošli všetky
viditeľné komponenty.
|
static void |
zmenKurzorMysi(String meno)
Alias pre
zmeňKurzorMyši . |
static void |
zmeňKurzorMyši(String meno)
Zmení hlavnému oknu tvar kurzora myši buď na vlastný tvar kurzora
vytvorený prostredníctvom metódy
novýKurzorMyši
(prípadne zmeňNovýKurzorMyši ), alebo na niektorý zo systémom
preddefinovaných kurzorov. |
static void |
zmenNovyKurzorMysi(BufferedImage obrázok,
double x,
double y,
String meno)
Alias pre
zmeňNovýKurzorMyši . |
static void |
zmenNovyKurzorMysi(BufferedImage obrázok,
int x,
int y,
String meno)
Alias pre
zmeňNovýKurzorMyši . |
static void |
zmeňNovýKurzorMyši(BufferedImage obrázok,
double x,
double y,
String meno)
Alias pre
zmeňNovýKurzorMyši . |
static void |
zmeňNovýKurzorMyši(BufferedImage obrázok,
int x,
int y,
String meno)
Táto metóda je kombináciou volania metód
novýKurzorMyši
a zmeňKurzorMyši . |
static void |
zobraz()
Zobrazí hlavné okno (svet).
|
static boolean |
zobrazeny()
Alias pre
zobrazený . |
static boolean |
zobrazený()
Zistí, či je hlavné okno (svet) viditeľné.
|
static void |
zobrazUvodnuObrazovku(Image úvodnýObrázok)
Alias pre
zobrazÚvodnúObrazovku . |
static void |
zobrazÚvodnúObrazovku(Image obrázok)
Zobrazí úvodnú obrazovku so zadaným obrázkom.
|
static void |
zobrazUvodnuObrazovku(String názovSúboru)
Alias pre
zobrazÚvodnúObrazovku . |
static void |
zobrazÚvodnúObrazovku(String názovSúboru)
Zobrazí úvodnú obrazovku so zadaným obrázkom načítaným zo súboru.
|
static void |
zrusInteraktivnuInstanciu()
Alias pre
zrušInteraktívnuInštanciu . |
static void |
zrusVstup()
Alias pre
zrušVstup . |
static void |
zrušInteraktívnuInštanciu()
Zruší interaktívnu inštanciu.
|
static void |
zrušVstup()
Vykoná pre vstupný riadok rovnakú akciu ako pri stlačení klávesu
Escape . |
static void |
zvuk(String súbor)
Prehrá zvukový súbor (formát
.wav alebo .au ). |
static void |
zvukNaPozadi(String súbor)
Alias pre
zvukNaPozadí . |
static void |
zvukNaPozadí(String súbor)
Začne alebo ukončí prehrávanie zvuku zo súboru na pozadí (formát
.wav alebo .au ). |
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMetódyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMetódy, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMetódyListeners, getInputMetódyRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, checkImage, checkImage, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMetódyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMetódyListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getFont, postEvent
public static int verzia(int hlavná, int vedľajšia)
Príklad:
if
(Svet
.verzia
(1
,50
) <0
) {Svet
.pípni
();Svet
.správa
("Na fungovanie tejto aplikácie\n"
+"je potrebná vyššia verzia triedy GRobot!\n"
+"(Najmenej 1.50)"
);Svet
.koniec
(); }
public static GRobot hlavnýRobot()
public static GRobot hlavnyRobot()
hlavnýRobot
.public static void vyzviRobotov()
prijatieVýzvy
bez určenia
autora výzvy (autor je rovný null
) a s hodnotou
argumentu kľúč
rovnou -
1
. Prvotné poradie
robotov je určené poradím ich vytvorenia (čiže ak sme nijako
neovplyvnili poradie robotov, je prvý vyzvaný ten robot, ktorý
bol vytvorený ako prvý, to jest robot, ktorý je nakreslený pod
všetkými ostatnými robotmi). Dodatočne môžeme poradie ovplyvniť
volaním metód naVrch
, naSpodok
, vyššie
,
nižšie
, pred
a za
.
Poznámka: Ak je poradie robotov zmenené počas spracovania výzviev, dôjde z technických príčin k opätovnému spusteniu posielania výziev (inak povedané – posielanie výziev sa „reštartuje“). To znamená, že niektorí roboti budú vyzvaní dva alebo viac ráz. Buďte preto opatrní so zmenami poradia v rámci spracovania výziev, aby ste nespôsobili vznik nekonečného cyklu… (Rovnaký efekt má prípadné vytvorenie nového robota, resp. ľubovoľnej inštancie triedy odvodenej od robota.)
Poznámka 2: Mechanizmus výziev nie je taký efektívny ako definícia vlastného zoznamu robotov (prípadne inštancií odvodených tried) a vykonanie hromadnej akcie pomocou tohto zoznamu. Slúži predovšedkým na umožnenie hromadného spracovania bez nevyhnutnosti vytvárania takého zoznamu (napríklad pri malom počte robotov alebo predtým, než sa programátor podrobnejšie oboznámi s možnosťami zoznamov).
public static void vyzviRobotov(int kľúč)
prijatieVýzvy
bez určenia
autora výzvy (autor je rovný null
). Pomocou argumentu
kľúč
môžeme odlišovať rôzne druhy výziev a ovplyvňovať
tým správanie reakcie prijatieVýzvy
. Prvotné poradie robotov je určené poradím ich
vytvorenia (čiže ak sme nijako neovplyvnili poradie robotov, je
prvý vyzvaný ten robot, ktorý bol vytvorený ako prvý, to jest
robot, ktorý je nakreslený pod všetkými ostatnými robotmi).
Dodatočne môžeme poradie ovplyvniť volaním metód
naVrch
, naSpodok
, vyššie
, nižšie
, pred
a za
.
Poznámka: Ak je poradie robotov zmenené počas spracovania výzviev, dôjde z technických príčin k opätovnému spusteniu posielania výziev (inak povedané – posielanie výziev sa „reštartuje“). To znamená, že niektorí roboti budú vyzvaní dva alebo viac ráz. Buďte preto opatrní so zmenami poradia v rámci spracovania výziev, aby ste nespôsobili vznik nekonečného cyklu… (Rovnaký efekt má prípadné vytvorenie nového robota, resp. ľubovoľnej inštancie triedy odvodenej od robota.)
Poznámka 2: Mechanizmus výziev nie je taký efektívny ako definícia vlastného zoznamu robotov (prípadne inštancií odvodených tried) a vykonanie hromadnej akcie pomocou tohto zoznamu. Slúži predovšedkým na umožnenie hromadného spracovania bez nevyhnutnosti vytvárania takého zoznamu (napríklad pri malom počte robotov alebo predtým, než sa programátor podrobnejšie oboznámi s možnosťami zoznamov).
kľúč
– celočíselná hodnota, ktorá je poslaná do reakcie
prijatieVýzvy
každého robota; takto je možné odlíšiť rôzne druhy výziev,
vďaka čomu môžeme ovplyvniť správanie reakcie prijatieVýzvy
public static void vyzviRobotov(int kľúč, boolean obrátene)
prijatieVýzvy
bez určenia
autora výzvy (autor je rovný null
). Pomocou argumentu
kľúč
môžeme odlišovať rôzne druhy výziev a ovplyvňovať
tým správanie reakcie prijatieVýzvy
. Argument obrátene
určuje smer
spracovania. Ak je rovný true
, zoznam robotov bude
spracovaný od konca, to znamená, že prvý bude vyzvaný buď
naposledny vytvorený robot, alebo robot aktuálne umiestnený na
konci vnútorného zoznamu robotov. Záleží od toho, či sme
dodatočne ovplyvňovali poradie robotov metódami naVrch
, naSpodok
,
vyššie
, nižšie
,
pred
a za
.
Ak je hodnota argumentu obrátene
rovná false
,
metóda sa správa rovnako ako vyzviRobotov(int)
.
Poznámka: Ak je poradie robotov zmenené počas spracovania výzviev, dôjde z technických príčin k opätovnému spusteniu posielania výziev (inak povedané – posielanie výziev sa „reštartuje“). To znamená, že niektorí roboti budú vyzvaní dva alebo viac ráz. Buďte preto opatrní so zmenami poradia v rámci spracovania výziev, aby ste nespôsobili vznik nekonečného cyklu… (Rovnaký efekt má prípadné vytvorenie nového robota, resp. ľubovoľnej inštancie triedy odvodenej od robota.)
Poznámka 2: Mechanizmus výziev nepovažujeme za taký efektívny ako je definícia vlastného zoznamu robotov (prípadne inštancií odvodených tried) a nasledujúce vykonanie hromadnej akcie pomocou tohto vlastného zoznamu. Výzvy slúžia predovšedkým na umožnenie hromadného spracovania bez nevyhnutnosti vytvárania takého zoznamu (napríklad v prípade, keď nepovažujeme vytvorenie vlastného zoznamu za významný prínos, alebo predtým, než sa programátor podrobnejšie oboznámi s možnosťami zoznamov).
kľúč
– celočíselná hodnota, ktorá je poslaná do reakcie
prijatieVýzvy
každého robota; takto je možné odlíšiť rôzne druhy výziev,
vďaka čomu môžeme ovplyvniť správanie reakcie prijatieVýzvy
obrátene
– týmto argumentom môžeme ovplyvniť smer
spracovania;
true
znamená spracovanie vnútorného zoznamu
robotov od konca; false
znamená rovnaký spôsob
spracovania ako pri metóde vyzviRobotov(int)
public static double najmenšieX()
najväčšieX()
,
najmenšieY()
,
najväčšieY()
public static double najmensieX()
najmenšieX
.public static double najmenšieY()
najmenšieX()
,
najväčšieX()
,
najväčšieY()
public static double najmensieY()
najmenšieY
.public static double najväčšieX()
najmenšieX()
,
najmenšieY()
,
najväčšieY()
public static double najvacsieX()
najväčšieX
.public static double najväčšieY()
najmenšieX()
,
najväčšieX()
,
najmenšieY()
public static double najvacsieY()
najväčšieY
.public static int šírka()
public static int sirka()
šírka
.public static int výška()
public static int vyska()
šírka
.public static int viditeľnáŠírka()
public static int viditelnaSirka()
viditeľnáŠírka
.public static int viditeľnáVýška()
public static int viditelnaVyska()
viditeľnáVýška
.public static int šírkaOkna()
public static int sirkaOkna()
šírkaOkna
.public static int výškaOkna()
public static int vyskaOkna()
výškaOkna
.public static double ľavýOkraj()
pravýOkraj()
,
spodnýOkraj()
,
vrchnýOkraj()
public static double lavyOkraj()
ľavýOkraj
.public static double spodnýOkraj()
ľavýOkraj()
,
pravýOkraj()
,
vrchnýOkraj()
public static double spodnyOkraj()
spodnýOkraj
.public static double dolnýOkraj()
spodnýOkraj
.public static double dolnyOkraj()
dolnýOkraj
.public static double pravýOkraj()
ľavýOkraj()
,
spodnýOkraj()
,
vrchnýOkraj()
public static double pravyOkraj()
pravýOkraj
.public static double vrchnýOkraj()
ľavýOkraj()
,
pravýOkraj()
,
spodnýOkraj()
public static double vrchnyOkraj()
vrchnýOkraj
.public static double hornýOkraj()
vrchnýOkraj
.public static double hornyOkraj()
hornýOkraj
.public static boolean viditeľný()
skry
, prípadne niektorú z verzií metódy zobrazÚvodnúObrazovku
. V tom
prípade musíme po inicializácii okno zobraziť metódou zobraz
, prípadne metódou skryÚvodnúObrazovku
.) Alternatívou tejto metódy je metóda zobrazený
.true
– áno; false
– niepublic static boolean viditelny()
viditeľný
.public static boolean zobrazený()
skry
, prípadne niektorú z verzií metódy zobrazÚvodnúObrazovku
. V tom
prípade musíme po inicializácii okno zobraziť metódou zobraz
, prípadne metódou skryÚvodnúObrazovku
.) Alternatívou tejto metódy je metóda viditeľný
.true
– áno; false
– niepublic static boolean zobrazeny()
zobrazený
.public static void skry()
zobraz
.public static void zobraz()
skry
.public static void upevni()
uvoľni
. Veľkosť okna nemá vplyv na
veľkosti plátien podlahy a stropu, ktoré je možné zmeniť len
konštruktorom hlavného robota.uvoľni()
public static void uvoľni()
upevni
. Veľkosť okna nemá vplyv na veľkosti plátien podlahy
a stropu, ktoré je možné zmeniť len konštruktorom hlavného robota.
(Poznámka: Názov uvoľni
má
v skupine tried grafického robota sedem rôznych metód:
GRobot
.
uvoľni
()
,
GRobot
.
uvoľni
(
Oblasť
)
,
Oblasť
.
uvoľni
()
,
Oblasť
.
uvoľni
(
GRobot
)
– slúžia na uvoľnenie robota zo zamestnania pre stanovenú oblasť
(čo je geometrická trieda),
Svet
.
uvoľni
()
– slúži na uvoľnenie hlavného okna sveta, t. j. umožnenie
zmeny veľkosti okna používateľovi (ide o opak metódy Svet.upevni
) a nakoniec
Svet
.
uvoľni
(
GRobot
)
,
Svet
.
uvoľni
(
Class
)
– slúžia na uvoľňovanie nepotrebných robotov z vnútorného
zoznamu robotov, čo je nevyhnutnou podmienkou ich úspešného
vymazania z pamäte.)
upevni()
public static void uvolni()
uvoľni
.public static void zbaľ()
public static void zbal()
zbaľ
.public static void vystreď()
public static void vystred()
vystreď
.public static double vzdialenosť(double súradnicaBoduX, double súradnicaBoduY)
súradnicaBoduX
– x-ová súradnica bodusúradnicaBoduY
– y-ová súradnica boduGRobot.vzdialenosť()
,
vzdialenosť(Poloha)
,
vzdialenosť(Shape)
public static double vzdialenost(double súradnicaBoduX, double súradnicaBoduY)
vzdialenosť
.public static double vzdialenosť(Poloha objekt)
objekt
– objekt ktorého vzdialenosť zisťujemeGRobot.vzdialenosť()
,
vzdialenosť(double, double)
,
vzdialenosť(Poloha)
,
vzdialenosť(Shape)
public static double vzdialenost(Poloha objekt)
vzdialenosť
.public static double vzdialenosť(Shape tvar)
[1] – nejde presne o stred útvaru; je použitý najrýchlejší a najjednoduchší spôsob zistenia približného stredu: vezme sa obdĺžnik tesne ohraničujúci útvar a určí sa jeho stred – čiže „stred hraníc“
tvar
– tvar Javy (Shape
), stred hraníc
ktorého vzdialenosť od stredu zisťujemeGRobot.vzdialenosť()
,
vzdialenosť(double, double)
,
vzdialenosť(Poloha)
public static double vzdialenost(Shape tvar)
vzdialenosť
.public static void vymaž()
podlaha.vymaž()
a strop.vymaž()
.public static void vymaz()
vymaž
.public static void vymažTexty()
podlaha.vymažTexty()
a strop.vymažTexty()
.public static void vymazTexty()
vymažTexty
.public static void vymažGrafiku()
podlaha.vymažGrafiku()
a strop.vymažGrafiku()
.public static void vymazGrafiku()
vymažGrafiku
.public static void povoľViacnásobnúObsluhuUdalostí()
presmerujObsluhuUdalostí
. Vždy môže byť v činnosti len jedna
obsluha udalostí. Vytváranie viacerých inštancií triedy GRobot.ObsluhaUdalostí
(resp. inštancií odvodených tried) je predvolene
zakázané, aby nedochádzalo k omylom. Po povolení tvorby viacerých
inštancií obsluhy udalostí zostáva aktívna prvá vytvorená
inštancia dokedy tok udalostí nepresmerujeme do inej metódou
presmerujObsluhuUdalostí
.
Upozornenie: Pri povoľovaní viacnásobnej obsluhy musíme dobre rozumieť mechanizmu spracovania udalostí. Nemali by sme ju povoliť bezdôvodne. Príkadom takého dôvodu môže byť potreba využitia odlišnej skupiny udalostí v rôznych situáciách hry, ktorú programujeme napríklad keď hráč vstúpi do hlavnej ponuky hry, má obsluha udalostí fungovať ináč, než keď hráč aktívne hrá hru…
Príklad, ktorý používa zapnutie viacnásobného spracovania
udalostí je pri opise metódy presmerujObsluhuUdalostí
.
public static void povolViacnasobnuObsluhuUdalosti()
povoľViacnásobnúObsluhuUdalostí
.public static void presmerujObsluhuUdalostí(GRobot.ObsluhaUdalostí obsluha)
ObsluhaUdalostí
. Použitie tejto metódy má význam
len po povolení
vytvárania viacerých inštancií obsluhy udalostí (čo je predvolene
zakázané). Po použití metódy presmerujObsluhuUdalostí
sú ďalšie vznikajúce udalosti presmerované do zadanej inštancie
obsluha
. Táto akcia automaticky vyradí z činnosti
predchádzajúcu inštanciu obsluhy udalostí, z čoho vyplýva, že
v činnosti môže byť vždy len jedna obsluha udalostí.
Príklad:
V tomto príklade sú definované dve obsluhy udalostí. Obidve definujú spracovanie udalosti kliku myšou. Príklad je demonštratívny. Po prvom kliku je (popri zobrazení robota, vymazaní a zmeny pozadia sveta) presmerovaný tok udalostí do druhej verzie obsluhy udalostí, ktorá má na starosti jediné: upravovať cieľ cesty hlavného robota…
public
class
ViacnásobnáObsluhaUdalostíextends
GRobot
{private
ObsluhaUdalostí
obsluha1, obsluha2;private
ViacnásobnáObsluhaUdalostí() {// Napísanie bieleho textu
farba
(biela
);text
("…kliknite myšou…"
);// Nastavenie vlastností hlavného robota
farba
(200
,0
,0
,100
);skry
();veľkosť
(30
);zdvihniPero
();hrúbkaČiary
(3
);predvolenýTvar
(false
);zrýchlenie
(0.5
,false
);maximálnaRýchlosť
(20
);rýchlosťOtáčania
(5
,false
);// Prvá verzia obsluhy udalostí
obsluha1 =new
ObsluhaUdalostí
() {@
Overridepublic
void
klik
() {zobraz
();Svet
.vymaž
();Svet
.farbaPozadia
(svetlotyrkysová
.svetlejšia
());Svet
.presmerujObsluhuUdalostí
(obsluha2); } };// Najneskôr tu musíme povoliť viacnásobnú obsluhu udalostí…
// …inak nasledujúci príkaz „new ObsluhaUdalostí“ zlyhá.
Svet
.povoľViacnásobnúObsluhuUdalostí
();// Druhá verzia obsluhy udalostí
obsluha2 =new
ObsluhaUdalostí
() {@
Overridepublic
void
klik
() {cieľNaMyš
(); } };// Nastavenie vlastností sveta
Svet
.farbaPozadia
(čierna
);Svet
.upevni
();Svet
.zbaľ
(); }public
static
void
main(String
[] args) {new
ViacnásobnáObsluhaUdalostí(); } }
obsluha
– inštancia obsluhy
udalostí, do ktorej budú presmerované ďalšie udalosti
spracúvané svetom grafického robotaGRobot.ObsluhaUdalostí
,
povoľViacnásobnúObsluhuUdalostí()
public static void presmerujObsluhuUdalosti(GRobot.ObsluhaUdalostí obsluha)
presmerujObsluhuUdalostí
.public static void vyplň(Color farba)
podlaha.vyplň(farba)
.farba
– objekt určujúci farbu výplne podlahyvymaž()
public static void vyplň(Farebnosť objekt)
podlaha.vyplň(farba)
.objekt
– objekt určujúci farbu výplne podlahyvymaž()
public static GRobot.Farba vyplň(int r, int g, int b)
podlaha.vyplň(r, g, b)
.r
– červená zložka farby; celé číslo v rozsahu 0 – 255g
– zelená zložka farby; celé číslo v rozsahu 0 – 255b
– modrá zložka farby; celé číslo v rozsahu 0 – 255Farba
vytvorený podľa zadaných
zložiekvyplň(java.awt.Color)
public static GRobot.Farba vypln(int r, int g, int b)
vyplň
.public static GRobot.Farba vyplň(int r, int g, int b, int a)
podlaha.vyplň(r, g, b, a)
.r
– červená zložka farby; celé číslo v rozsahu 0 – 255g
– zelená zložka farby; celé číslo v rozsahu 0 – 255b
– modrá zložka farby; celé číslo v rozsahu 0 – 255a
– úroveň (ne)priehľadnosti farby; celé číslo v rozsahu
0 – 255
(0 – neviditeľná farba; 255 – nepriehľadná farba)Farba
vytvorený podľa zadaných
parametrovvyplň(java.awt.Color)
public static GRobot.Farba vypln(int r, int g, int b, int a)
vyplň
.public static void vyplň(String súbor)
podlaha.vyplň(súbor)
.súbor
– názov súboru s obrázkom textúryvyplň(java.awt.Color)
,
priečinokObrázkov(String)
public static void vyplň(BufferedImage obrázok)
BufferedImage
alebo
odvodený), ktorý bude použitý na dlaždicové vyplnenie plochy
podlahy. Má rovnaký efekt, ako keby sme volali metódu podlaha.vyplň(obrázok)
.obrázok
– názov súboru s obrázkom textúryvyplň(java.awt.Color)
public static void vypln(BufferedImage obrázok)
vyplň
.public static void priehľadnosť(double prePodlahu, double preStrop)
prePodlahu
– nová úroveň (ne)priehľadnosti pre podlahu
(0.0 – 1.0)preStrop
– nová úroveň priehľadnosti pre strop (0.0 – 1.0)upravPriehľadnosť(double, double)
,
GRobot.Plátno.priehľadnosť(double)
,
GRobot.Plátno.priehľadnosť()
,
GRobot.Plátno.upravPriehľadnosť(double)
public static void priehladnost(double prePodlahu, double preStrop)
priehľadnosť
.public static void upravPriehľadnosť(double prePodlahu, double preStrop)
Svet
.
upravPriehľadnosť
(
0.5
,
2
)
, tak úroveň priehľadnosti podlahy klesne
na polovicu a stropu stúpne dvojnásobne.
Príklad:
V tomto príklade použijeme úpravu priehľadnosti plátien na vytvorenie prechodového efektu (pozri zoznam zmien: poďakovanie uvedené pri verzii 1.35):
// Najskôr zaplníme plátno a strop kresbou:
hrúbkaČiary
(10.0
);skry
();for
(int
i =0
; i <2
; ++i) {farba
((int
)Svet
.náhodnéCeléČíslo
(0
,255
), (int
)Svet
.náhodnéCeléČíslo
(0
,255
), (int
)Svet
.náhodnéCeléČíslo
(0
,255
));vyplň
();for
(int
j =0
; j <22
; ++j) {smer
(0
);náhodnáPoloha
();skoč
(0
,-
113.5
);for
(int
k =0
; k <24
; ++k) {farba
((int
)Svet
.náhodnéCeléČíslo
(0
,255
), (int
)Svet
.náhodnéCeléČíslo
(0
,255
), (int
)Svet
.náhodnéCeléČíslo
(0
,255
));doľava
(15
);dopredu
(30
); } }podlaha
.priehľadnosť
(0.0
);kresliNaStrop
(); }// Definujeme obsluhu udalostí (kvôli časovaču):
new
ObsluhaUdalostí
() {@
Overridepublic
void
tik
() {Svet
.upravPriehľadnosť
(1.1
,0.9
);if
(strop
.priehľadnosť
() <=0.03
) {Svet
.pípni
();Svet
.zastavČasovač
();Svet
.priehľadnosť
(1.0
,0.0
); } } };// A spustíme časovač:
Svet
.čakaj
(1.0
);Svet
.spustiČasovač
(0.1
);Svet
.pípni
();
prePodlahu
– koeficient úrovene priehľadnosti podlahypreStrop
– koeficient úrovene priehľadnosti stropupriehľadnosť(double, double)
,
GRobot.Plátno.upravPriehľadnosť(double)
,
GRobot.Plátno.priehľadnosť(double)
,
GRobot.Plátno.priehľadnosť()
,
GRobot.Plátno.upravPriehľadnosť(double)
public static void upravPriehladnost(double prePodlahu, double preStrop)
upravPriehľadnosť
.public static boolean kreslenie()
nekresli
, zapnutie zase metóda kresli
.
true
ak je automatické prekresľovanie zapnuté,
false
ak je vypnuténebolPrekreslený()
,
nekresli()
,
kresli()
,
prekresli()
public static boolean nebolPrekreslený()
true
, tak je pravdepodobné,
že obsah okna na obrazovke nekorešponduje so skutočnými obsahmi pozadia
a plátien (prípadne ďalších komponentov).
true
ak vznikla požiadavka na automatické prekreslenie,
zapnuté, no bola zamietnutá (v dôsledku vypnutia automatického
prekresľovania – pozri: nekresli
); false
v opačnom prípadekreslenie()
,
nebolPrekreslený()
,
nekresli()
,
kresli()
,
prekresli()
public static boolean nebolPrekresleny()
nebolPrekreslený
.public static boolean neboloPrekreslené()
nebolPrekreslený
.public static boolean neboloPrekreslene()
nebolPrekreslený
.public static void nekresli()
prekresli
(napríklad s odstupom niekoľkých príkazov
alebo v pravidelných časových intervaloch). Automatické
prekresľovanie sveta opätovne zapneme metódou kresli
.kreslenie()
,
nebolPrekreslený()
,
kresli()
,
prekresli()
public static void kresli()
nekresli
. Ak nechceme prekresľovanie zapnúť,
ale chceme napríklad vidieť, čo nakreslil niektorý robot, môžeme
použiť metódu prekresli
.kreslenie()
,
nebolPrekreslený()
,
nekresli()
,
prekresli()
public static void prekresli()
nekresli
). Táto metóda spustí rovnaký proces,
aký je vykonávaný pri automatickom prekresľovaní. V prípade, že
je automatické prekresľovanie sveta vypnuté (metódou nekresli
), nie je prekreslenie vykonané bez vedomia
programátora, okrem prípadu, keď sú splnené nasledujúce podmienky:
(1) bola aspoň raz použitá niektorá z metód vypíš
, vypíšRiadok
a súčasne
(2) zmenila sa veľkosť hlavného okna (buď aktivitou
používateľa, alebo z iných príčin)
a súčasne
(3) nie je aktívna obsluha udalostí (pozri ObsluhaUdalostí.zmenaVeľkostiOkna()
).
Vypnutie automatického prekresľovania môže značne zvýšiť grafickú efektívnosť aplikácie.
Príklad:
V tomto príklade najskôr vypneme kreslenie a začneme kresliť
vymyslenú mapu kruhového sveta… Svet bude mať dvadsať kontinentov.
Po nakreslení každého z nich použijeme metódu prekresli
na ukázanie čiastočného (a nakoniec konečného)
výsledku (pozri zoznam zmien: poďakovanie uvedené pri
verzii 1.35):
// V tomto príklade nakresléme „Novú Zem“:
Svet
.farbaPozadia
(modrá
);Svet
.nekresli
();hrúbkaČiary
(1.5
);for
(int
i =0
; i <20
; ++i) {// Pevninu rozbijeme na viacero kontinentov (kolízie nebudeme
// kontrolovať, dovolíme, aby sa prekrývali). Každý kontinent
// začneme na náhodnej pozícii:
náhodnáPoloha
();for
(int
j =0
; j <25000
; ++j) {// Tieto dva príkazy sa postarajú o kreslenie pevniny
// (náhodným spôsobom):
náhodnýSmer
();dopredu
(1.5
);// Nasledujúci výpočet a podmienka sa postarajú o vznik
// červených kruhov na ploche pevniny:
double
výpočet =vzdialenosť
() /50
–vzdialenosť
() %50
;if
((výpočet %2
) >=1
)farba
(červená
);else
farba
(zelená
); }Svet
.prekresli
(); }Svet
.kresli
();
kreslenie()
,
nebolPrekreslený()
,
nekresli()
,
kresli()
public static void vymažPonuku()
public static void vymazPonuku()
vymažPonuku
.public static void pridajPoložkuHlavnejPonuky(String text)
pridajPoložkuPonuky
alebo jej
„klony“).text
– reťazec textu pridávanej položkyGRobot.PoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuHlavnejPonuky(String, int)
,
pridajPoložkuPonuky(String)
,
pridajOddeľovačPonuky()
public static void pridajPolozkuHlavnejPonuky(String text)
pridajPoložkuHlavnejPonuky
.public static void pridajPoložkuHlavnejPonuky(String text, int mnemonickáSkratka)
pridajPoložkuPonuky
alebo jej
„klony“). Význam parametra mnemonickáSkratka
je rovnaký ako
pri metóde pridajPoložkuPonuky(text, mnemonickáSkratka)
.text
– reťazec textu pridávanej položkymnemonickáSkratka
– kód mnemonickej skratky (príklad:
Kláves.VK_A
)GRobot.PoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuHlavnejPonuky(String)
,
pridajPoložkuPonuky(String, int)
,
pridajOddeľovačPonuky()
public static void pridajPolozkuHlavnejPonuky(String text, int mnemonickáSkratka)
pridajPoložkuHlavnejPonuky
.public static GRobot.PoložkaPonuky pridajPoložkuPonuky(String text)
voľbaPoložkyPonuky
v triede obsluhy udalostí. V tej je možné
položku identifikovať pomocou metódy
poslednáPoložkaPonuky
alebo ÚdajeUdalostí.položkaPonuky
ktoré
vracajú objekt typu PoložkaPonuky
. Ten môžeme
porovnať s hodnotou vrátenou z tejto metódy (ktorú si odložíme do
pomocnej premennej) alebo použiť iný spôsob identifikácie.
Napríklad metódu aktivovaná
,
ktorá vráti true
v prípade, že bola táto položka
naposledny aktivovaná.text
– reťazec textu pridávanej položky ponukyPoložkaPonuky
) alebo null
ak nastala chybaGRobot.PoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuPonuky(String, int)
,
pridajPoložkuPonuky(String, int, int)
,
pridajOddeľovačPonuky()
,
pridajPoložkuPonukyVymazať()
,
pridajPoložkuPonukyPrekresliť()
,
pridajPoložkuPonukyKoniec()
,
poslednáPoložkaPonuky()
public static GRobot.PolozkaPonuky pridajPolozkuPonuky(String text)
pridajPoložkuPonuky
.public static GRobot.PoložkaPonuky pridajPoložkuPonuky(String text, int mnemonickáSkratka)
pridajPoložkuPonuky(String)
s tým, že
definuje novej položke mnemonickú skratku (skratky, ktoré sú
v položkách ponuky znázorňované podčiarknutým písmenom). Skratku je
možné najjednoduchšie určiť konštantou triedy KeyEvent
.VK_XXX
(tá je v robotovi na
zjednodušenie prekrytá triedou Kláves
, takže môžeme
použiť napríklad Kláves.VK_A
, Kláves.VK_B
, Kláves.VK_C
…).text
– reťazec textu pridávanej položky ponukymnemonickáSkratka
– kód mnemonickej skratky (príklad:
Kláves.VK_A
)PoložkaPonuky
) alebo null
ak nastala chybaGRobot.PoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuPonuky(String)
,
pridajPoložkuPonuky(String, int, int)
,
pridajOddeľovačPonuky()
,
pridajPoložkuPonukyVymazať()
,
pridajPoložkuPonukyPrekresliť()
,
pridajPoložkuPonukyKoniec()
,
poslednáPoložkaPonuky()
public static GRobot.PolozkaPonuky pridajPolozkuPonuky(String text, int mnemonickáSkratka)
pridajPoložkuPonuky
.public static GRobot.PoložkaPonuky pridajPoložkuPonuky(String text, int mnemonickáSkratka, int klávesováSkratka)
pridajPoložkuPonuky(String, int)
s tým, že definuje novej položke okrem mnemonickej aj klávesovú
skratku (skratky, ktoré pri v položkách ponuky znázorňované
v pravej časti textom CTRL + písmeno). Skratky je možné
najjednoduchšie určiť konštantou triedy KeyEvent
.VK_XXX
(tá je v robotovi na zjednodušenie
prekrytá triedou Kláves
, takže môžeme použiť
napríklad Kláves.VK_A
, Kláves.VK_B
, Kláves.VK_C
…).text
– reťazec textu pridávanej položky ponukymnemonickáSkratka
– kód mnemonickej skratky (príklad: Kláves.VK_A
)klávesováSkratka
– kód klávesovej skratky (príklad: Kláves.VK_B
)PoložkaPonuky
) alebo null
ak nastala chybaGRobot.PoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuPonuky(String)
,
pridajPoložkuPonuky(String, int)
,
pridajOddeľovačPonuky()
,
pridajPoložkuPonukyVymazať()
,
pridajPoložkuPonukyPrekresliť()
,
pridajPoložkuPonukyKoniec()
,
poslednáPoložkaPonuky()
public static GRobot.PolozkaPonuky pridajPolozkuPonuky(String text, int mnemonickáSkratka, int klávesováSkratka)
pridajPoložkuPonuky
.public static void pridajOddeľovačPonuky()
public static void pridajOddelovacPonuky()
pridajOddeľovačPonuky
.public static void pridajPoložkuPonukyVymazať()
public static void pridajPolozkuPonukyVymazat()
pridajPoložkuPonukyVymazať
.public static void pridajPoložkuPonukyPrekresliť()
public static void pridajPolozkuPonukyPrekreslit()
pridajPoložkuPonukyPrekresliť
.public static void pridajPoložkuPonukyKoniec()
public static void pridajPolozkuPonukyKoniec()
pridajPoložkuPonukyKoniec
.public static GRobot.PoložkaPonuky položkaPonukyVymazať()
GRobot.PoložkaPonuky
,
pridajPoložkuPonukyVymazať()
public static GRobot.PoložkaPonuky polozkaPonukyVymazat()
položkaPonukyVymazať
.public static GRobot.PoložkaPonuky položkaPonukyPrekresliť()
GRobot.PoložkaPonuky
,
pridajPoložkuPonukyPrekresliť()
public static GRobot.PoložkaPonuky polozkaPonukyPrekreslit()
položkaPonukyPrekresliť
.public static GRobot.PoložkaPonuky položkaPonukyKoniec()
GRobot.PoložkaPonuky
,
pridajPoložkuPonukyKoniec()
public static GRobot.PoložkaPonuky polozkaPonukyKoniec()
položkaPonukyKoniec
.public static GRobot.PoložkaPonuky poslednáPoložkaPonuky()
PoložkaPonuky
s naposledy
zvolenou položkou ponuky. Využiteľné v metóde voľbaPoložkyPonuky
.PoložkaPonuky
naposledy
zvolenej položky ponukyvymažPonuku()
,
pridajPoložkuHlavnejPonuky(String)
,
pridajPoložkuPonuky(String)
,
pridajOddeľovačPonuky()
,
poslednáKontextováPoložka()
public static GRobot.PolozkaPonuky poslednaPolozkaPonuky()
poslednáPoložkaPonuky
.public static GRobot.KontextováPoložka poslednáKontextováPoložka()
KontextováPoložka
s naposledy zvolenou kontextovou položkou ponuky. Využiteľné
v metóde voľbaPoložkyPonuky
.KontextováPoložka
naposledy zvolenej kontextovej položkyposlednáPoložkaPonuky()
public static GRobot.KontextovaPolozka poslednaKontextovaPolozka()
poslednáKontextováPoložka
.public static String[] textNaRiadky(String text, int dĺžkaRiadka)
(Poznámka: Metóda zmení všetky znaky tabulátorov na medzery.)
text
– text, ktorý má byť rozdelený na riadkydĺžkaRiadka
– maximálna dĺžka jednotlivých riadkov udaná
v znakochpublic static String[] textNaRiadky(String text, int dĺžkaRiadka, boolean zachovajMedzery)
(Poznámka: Metóda zmení všetky znaky tabulátorov na medzery.)
text
– text, ktorý má byť rozdelený na riadkydĺžkaRiadka
– maximálna dĺžka jednotlivých riadkov udaná
v znakochzachovajMedzery
– ak je false
, medzery budú
redukované na minimum – medzery na koncoch a začiatkoch riadkov
budú odstránené a viacnásobné medzery medzi slovami budú
redukované na jedinú medzerupublic static String F(double číslo, int desatinné)
F(číslo, desatinné)
.
Metóda má ešte jednu verziu: Svet.F(číslo, šírka, desatinné)
.
public static String F(double číslo, int šírka, int desatinné)
F(číslo, šírka, desatinné)
.
Metóda má ešte jednu verziu: Svet.F(číslo, desatinné)
.
public static void ikona(String súbor)
súbor
– názov súboru s obrázkomRuntimeException
– ak obrázok nebol nájdenýpriečinokObrázkov(String)
public static void ikona(Image obrázok)
obrázok
– obrázok slúžiaci ako predloha pre ikonupublic static void novýKurzorMyši(BufferedImage obrázok, int x, int y, String meno)
Obrázok
). Súradnice x
a x
určujú aktívny bod kurzora (hot spot),
t. j. bod, ktorý bude považovaný za „špičku“, či „stred“ kurzora
(záleží od tvaru kurzora). Súradnice [0, 0] sú považované za
stred kurzora. Rozsah súradníc je určený rozmermi obrázka.
Odporúčame zvoliť také rozmery obrázka, ktoré sú štandardné pre
kurzory, napríklad 32 × 32 bodov, inak by mohlo dôjsť
k nežiadanému posunu aktívneho bodu kurzora. Názov kurzora musí
byť jedinečný. Ten treba použiť pri volaní metódy zmeňKurzorMyši
.
Príklad:
Obrázok
ihla =new
Obrázok
(32
,32
);kresliDoObrázka
(ihla);hrúbkaČiary
(2.5
);farba
(tyrkysová
);choďNa
(-
16
,-
16
);domov
();farba
(modrá
);kruh
(4.5
);Svet
.novýKurzorMyši
(ihla,-
15
,-
15
,"ihla"
);Svet
.zmeňKurzorMyši
("ihla"
);
obrázok
– obrázok, ktorého grafika bude použitá na
vytvorenie kurzorax
– x-ová súradnica aktívneho bodu nového kurzoray
– y-ová súradnica aktívneho bodu nového kurzorameno
– meno kurzora, ktoré bude neskôr použité pri volaní
metódy zmeňKurzorMyši
zmeňKurzorMyši(String)
,
zmeňNovýKurzorMyši(BufferedImage, int, int, String)
public static void novyKurzorMysi(BufferedImage obrázok, int x, int y, String meno)
novýKurzorMyši
.public static void novýKurzorMyši(BufferedImage obrázok, double x, double y, String meno)
novýKurzorMyši
.public static void novyKurzorMysi(BufferedImage obrázok, double x, double y, String meno)
novýKurzorMyši
.public static void zmeňKurzorMyši(String meno)
novýKurzorMyši
(prípadne zmeňNovýKurzorMyši
), alebo na niektorý zo systémom
preddefinovaných kurzorov. Systémové kurzory majú nasledujúce
preddefinované názvy: "predvolený"
,
"mieridlo"
, "text"
, "čakaj"
,
"swZmeniťVeľkosť"
, "seZmeniťVeľkosť"
,
"nwZmeniťVeľkosť"
, "neZmeniťVeľkosť"
,
"nZmeniťVeľkosť"
, "sZmeniťVeľkosť"
,
"wZmeniťVeľkosť"
, "eZmeniťVeľkosť"
,
"ruka"
, "presunúť"
. Ak namiesto názvu
kurzora zadáte null
, bude použitý prázdny (neviditeľný)
kurzor.
(Poznámka: Táto metóda nemá vplyv na kurzor v režime celej obrazovky.)
meno
– názov vlastného kurzora, systémového kurzora alebo
null
novýKurzorMyši(BufferedImage, int, int, String)
,
zmeňNovýKurzorMyši(BufferedImage, int, int, String)
public static void zmenKurzorMysi(String meno)
zmeňKurzorMyši
.public static void zmeňNovýKurzorMyši(BufferedImage obrázok, int x, int y, String meno)
novýKurzorMyši
a zmeňKurzorMyši
. Platia pre ňu
rovnaké pravidlá ako pre uvedené dve metódy…
public static void zmenNovyKurzorMysi(BufferedImage obrázok, int x, int y, String meno)
zmeňNovýKurzorMyši
.public static void zmeňNovýKurzorMyši(BufferedImage obrázok, double x, double y, String meno)
zmeňNovýKurzorMyši
.public static void zmenNovyKurzorMysi(BufferedImage obrázok, double x, double y, String meno)
zmeňNovýKurzorMyši
.public static void koniec()
public static void koniec(int kód)
kód
– celočíselný návratový kód, ktorý je schopný prijať
operačný systémpublic static Graphics2D grafika()
ObsluhaUdalostí.dokreslenie()
.
Tento objekt pracuje v súradnicovom priestore Javy a všetko, čo
pomocou neho nakreslíte, bude na obrazovke zobrazené len do
najbližšieho prekreslenia. Jeho používanie je vyhradené
viac-menej iba pre skúsených programátorov. Žiadny robot nedokáže
priamo kresliť do tohto objektu, ale niektoré metódy robotov môžu
byť využité, napríklad na generovanie tvarov, ktoré kresliace
metódy tohto objektu dokážu akceptovať.public static long údržba()
public static long udrzba()
údržba
.public static void uvoľni(GRobot ktorý)
GRobot
(to znamená, že môže ísť aj
o hocijakú inštanciu odvodeneného údajového typu). Zadaný objekt
bude potom vymazaný z vnútorného zoznamu robotov. Keď
aplikácia zabezpečí aj vynulovanie všetkých ostatných premenných,
v ktorých je stanovená inštancia uložená, objekt by mal byť uvoľnený
z pamäte počítača zberačom odpadkov Javy. Uvoľneného robota už
nie je možné do sveta vrátiť! V prípade, že je uvoľnený
hlavný robot, nastúpi na jeho miesto
najbližší jestvujúci robot. Problém by mohol nastať, keby nie je
k dispozícii žiadny ďalší robot, ktorý by ho mohol nahradiť.
(Poznámka: Názov uvoľni
má
v skupine tried grafického robota sedem rôznych metód:
GRobot
.
uvoľni
()
,
GRobot
.
uvoľni
(
Oblasť
)
,
Oblasť
.
uvoľni
()
,
Oblasť
.
uvoľni
(
GRobot
)
– slúžia na uvoľnenie robota zo zamestnania pre stanovenú oblasť
(čo
je geometrická trieda),
Svet
.
uvoľni
()
– slúži na uvoľnenie hlavného okna sveta, t. j. umožnenie
zmeny veľkosti okna používateľovi (ide o opak metódy Svet.upevni
) a nakoniec
Svet
.
uvoľni
(
GRobot
)
,
Svet
.
uvoľni
(
Class
)
– slúžia na uvoľňovanie nepotrebných robotov z vnútorného
zoznamu robotov, čo je nevyhnutnou podmienkou ich úspešného
vymazania z pamäte.)
ktorý
– objekt, ktorý má byť odstránenýuvoľni(java.lang.Class)
public static void uvoľni(Class typ)
Class
. Tú
môžeme získať, napríklad takto: GRobot.class
, Postavička.class
…). Zo zoznamu budú v dôsledku toho vymazané všetky
inštancie určeného typu, ale aj inštancie odvodených tried. Preto
je dobré byť pri hromadnom odstraňovaní obozretný. Ak si nie ste
istí, aký dopad by malo použitie tejto metódy, použite radšej na
uvoľnenie konkrétnych robotov metódu uvoľni
(
GRobot
)
. Uvoľnených
robotov už nie je možné do sveta vrátiť! V prípade, že nastane
uvoľnenie hlavného robota, nastúpi na
jeho miesto najbližší jestvujúci robot. Problém by mohol nastať,
keby nie je k dispozícii žiadny ďalší robot, ktorý by ho mohol
nahradiť.
(Poznámka: Názov uvoľni
má
v skupine tried grafického robota sedem rôznych metód:
GRobot
.
uvoľni
()
,
GRobot
.
uvoľni
(
Oblasť
)
,
Oblasť
.
uvoľni
()
,
Oblasť
.
uvoľni
(
GRobot
)
– slúžia na uvoľnenie robota zo zamestnania pre stanovenú oblasť (čo
je geometrická trieda),
Svet
.
uvoľni
()
– slúži na uvoľnenie hlavného okna sveta, t. j. umožnenie
zmeny veľkosti okna používateľovi (ide o opak metódy Svet.upevni
) a nakoniec
Svet
.
uvoľni
(
GRobot
)
,
Svet
.
uvoľni
(
Class
)
– slúžia na uvoľňovanie nepotrebných robotov z vnútorného
zoznamu robotov, čo je nevyhnutnou podmienkou ich úspešného
vymazania z pamäte.)
typ
– objekt typu Class
uvoľni(GRobot)
public static void použiKonfiguráciu(String názovSúboru, int x, int y, int šírka, int výška)
x
a y
určujú, o koľko bodov je posunutý ľavý horný roh okna od ľavého
horného rohu
obrazovky (y-ová súradnica rastie smerom nadol). Viac informácií
je v opise metódy
použiKonfiguráciu(názovSúboru)
.
názovSúboru
– názov konfiguračného súborux
– predvolená (pozri vyššie) x-ová súradnica
polohy oknay
– predvolená (pozri vyššie) y-ová súradnica
polohy oknašírka
– predvolená (pozri vyššie) šírka oknavýška
– predvolená (pozri vyššie) výška oknaGRobot.ObsluhaUdalostí.konfiguráciaZmenená()
,
použiKonfiguráciu(int, int, int, int)
,
použiKonfiguráciu(String)
,
použiKonfiguráciu()
,
registrujRobota(GRobot, String)
,
načítajKonfiguráciuSveta()
public static void pouziKonfiguraciu(String názovSúboru, int x, int y, int šírka, int výška)
použiKonfiguráciu
.public static void použiKonfiguráciu(int x, int y, int šírka, int výška)
"grobot.cfg"
. Parametre polohy a rozmerov okna opísané nižšie
určujú predvolené hodnoty údajov – neskôr budú nahradené aktuálnymi
hodnotami uloženými v konfigurácii. Súradnice x
a y
určujú, o koľko bodov je posunutý ľavý horný roh okna od ľavého
horného rohu
obrazovky (y-ová súradnica rastie smerom nadol). Viac informácií
je v opise metódy použiKonfiguráciu()
.
x
– predvolená (pozri vyššie) x-ová súradnica
polohy oknay
– predvolená (pozri vyššie) y-ová súradnica
polohy oknašírka
– predvolená (pozri vyššie) šírka oknavýška
– predvolená (pozri vyššie) výška oknaGRobot.ObsluhaUdalostí.konfiguráciaZmenená()
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(String)
,
použiKonfiguráciu()
,
registrujRobota(GRobot, String)
,
načítajKonfiguráciuSveta()
public static void pouziKonfiguraciu(int x, int y, int šírka, int výška)
použiKonfiguráciu
.public static void použiKonfiguráciu(String názovSúboru)
názovSúboru
. Súbor nemusí jestvovať, v takom prípade bude
vytvorený automaticky pri ukončení aplikácie.
Príklad:
public static
void
main(String
[] args) {Svet
.použiKonfiguráciu
("grobot.cfg"
);// new …
}
(Táto metóda použije predvolené hodnoty polohy [25, 25] a rozmerov 600 × 500 bodov.)
(Poznámka: Dovoľujeme si vás upozorniť na to, aby
ste súbor so zadaným názvom nepoužívali na iné účely. Prosím,
venujte pozornosť upozorneniu pri metóde zapíšVlastnosť
!)
názovSúboru
– názov konfiguračného súboruGRobot.ObsluhaUdalostí.konfiguráciaZmenená()
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
použiKonfiguráciu()
,
registrujRobota(GRobot, String)
,
načítajKonfiguráciuSveta()
public static void pouziKonfiguraciu(String názovSúboru)
použiKonfiguráciu
.public static void použiKonfiguráciu()
"grobot.cfg"
. Súbor nemusí jestvovať, v takom prípade bude
vytvorený automaticky pri ukončení aplikácie.
Príklad:
public static
void
main(String
[] args) {Svet
.použiKonfiguráciu
();// new …
}
(Táto metóda použije predvolené hodnoty polohy [25, 25] a rozmerov 600 × 500 bodov.)
(Poznámka: Dovoľujeme si vás upozorniť na to, aby
ste súbor "grobot.cfg"
nepoužívali na iné účely. Prosím,
venujte pozornosť upozorneniu pri metóde zapíšVlastnosť
!)
public static void pouziKonfiguraciu()
použiKonfiguráciu
.public static void registrujRobota()
robot
.
Pozri aj informácie pri metóde registrujRobota(robot)
.
meno
– meno robotaGRobot.ObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
registrujRobota(String)
,
registrujRobota(GRobot)
,
registrujRobota(GRobot, String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
načítajKonfiguráciuSveta()
public static void registrujRobota(String meno)
registrujRobota(robot)
.
meno
– meno robotaGRobot.ObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
registrujRobota()
,
registrujRobota(GRobot)
,
registrujRobota(GRobot, String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
načítajKonfiguráciuSveta()
public static void registrujRobota(GRobot robot)
Pred registráciou je vhodné vypnúť automatické prekresľovanie a po dokončení registrácie ho opätovne zapnúť. I tak nemusí byť garantovaná bezproblémová aktualizácia obrazovky, preto je vhodné vykonať registráciu podľa nasledujúcej schémy:
public
class
UkážkaKonfigurácieextends
GRobot
{private
UkážkaKonfigurácie() {// Inicializácia
// ...
Svet
.registrujRobota
(this
);// Prípadne sa dá použiť aj verzia metódy
// bez argumentu: Svet.
}registrujRobota
();public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
();Svet
.nekresli
();new
UkážkaKonfigurácie();Svet
.kresli
(); } }
meno
– meno robotaGRobot.ObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
registrujRobota()
,
registrujRobota(String)
,
registrujRobota(GRobot, String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
načítajKonfiguráciuSveta()
public static void registrujRobota(GRobot robot, String meno)
registrujRobota(robot)
.
meno
– meno robotaGRobot.ObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
registrujRobota()
,
registrujRobota(String)
,
registrujRobota(GRobot)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
public static void načítajKonfiguráciuSveta()
Vhodné je použiť nasledujúcu schému:
public
class
UkážkaKonfigurácieextends
GRobot
{private
UkážkaKonfigurácie() {// Inicializácia
// ...
Svet
.registrujRobota
(this
,"robot"
);Svet
.načítajKonfiguráciuSveta
(); }public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
();Svet
.nekresli
();new
UkážkaKonfigurácie();Svet
.kresli
(); } }
meno
– meno robotaGRobot.ObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.načítajZoSúboru(Súbor)
,
registrujRobota()
,
registrujRobota(String)
,
registrujRobota(GRobot)
,
registrujRobota(GRobot, String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
public static String načítajReťazec(String výzva)
Príklad:
String
meno =Svet
.načítajReťazec
("Zadaj svoje meno:"
);if
(meno !=null
) {if
(meno.equals
(""
))// Prípadne lepšie: if (!meno.
{isEmpty
())Svet
.správa
("Nezadal si svoje meno…"
); }else
{Svet
.správa
("Vitaj, "
+ meno +"!"
); } }else
{Svet
.správa
("Zrušil si zadanie svojho mena…"
); }
výzva
– text výzvyString
s textom, ktorý
zadal používateľ, alebo null
ak používateľ dialóg
zrušilnačítajReťazec(String, String)
,
načítajHeslo(String)
,
načítajHeslo(String, String)
,
načítajCeléČíslo(String)
,
načítajCeléČíslo(String, String)
,
načítajReálneČíslo(String)
,
načítajReálneČíslo(String, String)
,
upravReťazec(String, String)
public static String nacitajRetazec(String výzva)
načítajReťazec
.public static String načítajReťazec(String výzva, String titulok)
výzva
– text výzvytitulok
– text titulku dialógového oknaString
s textom, ktorý
zadal používateľ, alebo null
ak používateľ dialóg
zrušilnačítajReťazec(String)
,
načítajHeslo(String)
,
načítajHeslo(String, String)
,
načítajCeléČíslo(String)
,
načítajCeléČíslo(String, String)
,
načítajReálneČíslo(String)
,
načítajReálneČíslo(String, String)
,
upravReťazec(String, String, String)
public static String nacitajRetazec(String výzva, String titulok)
načítajReťazec
.public static String načítajHeslo(String výzva)
výzva
– text výzvyString
s heslom, ktoré
zadal používateľ, alebo null
ak používateľ dialóg
zrušilnačítajReťazec(String)
,
načítajReťazec(String, String)
,
načítajHeslo(String, String)
,
načítajCeléČíslo(String)
,
načítajCeléČíslo(String, String)
,
načítajReálneČíslo(String)
,
načítajReálneČíslo(String, String)
public static String nacitajHeslo(String výzva)
načítajHeslo
.public static String načítajHeslo(String výzva, String titulok)
výzva
– text výzvytitulok
– text titulku dialógového oknaString
s heslom, ktoré
zadal používateľ, alebo null
ak používateľ dialóg
zrušilnačítajReťazec(String)
,
načítajReťazec(String, String)
,
načítajHeslo(String)
,
načítajCeléČíslo(String)
,
načítajCeléČíslo(String, String)
,
načítajReálneČíslo(String)
,
načítajReálneČíslo(String, String)
public static String nacitajHeslo(String výzva, String titulok)
načítajHeslo
.public static Long načítajCeléČíslo(String výzva)
načítajCeléČíslo
.výzva
– text výzvyLong
s celočíselnou hodnotou, ktorú zadal
používateľ, alebo null
ak používateľ dialóg zrušil
alebo zadal reťazec, ktorý nebolo možné previesť na celé
číslonačítajReťazec(String)
,
načítajReťazec(String, String)
,
načítajHeslo(String)
,
načítajHeslo(String, String)
,
načítajCeléČíslo(String, String)
,
načítajReálneČíslo(String)
,
načítajReálneČíslo(String, String)
,
upravCeléČíslo(int, String)
public static Long nacitajCeleCislo(String výzva)
načítajCeléČíslo
.public static Long načítajCeléČíslo(String výzva, String titulok)
Príklad:
Long
l =Svet
.načítajCeléČíslo
("Počet:"
,"Zadaj celé číslo"
);if
(l !=null
) {int
i = l.intValue
();Svet
.správa
("Zadané: "
+ i); }else
Svet
.správa
("Vstup bol zrušený alebo nesprávny."
);
výzva
– text výzvytitulok
– text titulku dialógového oknaLong
s celočíselnou hodnotou, ktorú zadal
používateľ, alebo null
ak používateľ dialóg zrušil
alebo zadal reťazec, ktorý nebolo možné previesť na celé
číslonačítajReťazec(String)
,
načítajReťazec(String, String)
,
načítajHeslo(String)
,
načítajHeslo(String, String)
,
načítajCeléČíslo(String)
,
načítajReálneČíslo(String)
,
načítajReálneČíslo(String, String)
,
upravCeléČíslo(int, String, String)
public static Long nacitajCeleCislo(String výzva, String titulok)
načítajCeléČíslo
.public static Double načítajReálneČíslo(String výzva)
načítajReálneČíslo
.výzva
– text výzvyDouble
s celočíselnou
hodnotou, ktorú zadal používateľ, alebo null
ak
používateľ dialóg zrušil alebo zadal reťazec, ktorý
nebolo možné previesť na reálne číslonačítajReťazec(String)
,
načítajReťazec(String, String)
,
načítajHeslo(String)
,
načítajHeslo(String, String)
,
načítajCeléČíslo(String)
,
načítajCeléČíslo(String, String)
,
načítajReálneČíslo(String, String)
,
upravReálneČíslo(double, String)
public static Double nacitajRealneCislo(String výzva)
načítajReálneČíslo
.public static Double načítajReálneČíslo(String výzva, String titulok)
Príklad:
Double
d =Svet
.načítajReálneČíslo
("Počet:"
,"Zadaj reálne číslo"
);if
(d !=null
) {double
a = d.doubleValue
();Svet
.správa
("Zadané: "
+ a); }else
Svet
.správa
("Vstup bol zrušený alebo nesprávny."
);
výzva
– text výzvytitulok
– text titulku dialógového oknaDouble
s celočíselnou
hodnotou, ktorú zadal používateľ, alebo null
ak
používateľ dialóg zrušil alebo zadal reťazec, ktorý
nebolo možné previesť na reálne číslonačítajReťazec(String)
,
načítajReťazec(String, String)
,
načítajHeslo(String)
,
načítajHeslo(String, String)
,
načítajCeléČíslo(String)
,
načítajCeléČíslo(String, String)
,
načítajReálneČíslo(String)
,
upravReálneČíslo(double, String, String)
public static Double nacitajRealneCislo(String výzva, String titulok)
načítajReálneČíslo
.public static String upravReťazec(String reťazec, String výzva)
načítajReťazec
, ibaže vyžaduje zadanie
reťazca určeného na úpravu.
reťazec
– reťazec určený na úpravuvýzva
– text výzvyString
s textom, ktorý
používateľ upravil alebo null
ak používateľ dialóg
zrušilupravReťazec(String, String, String)
,
upravCeléČíslo(int, String)
,
upravCeléČíslo(int, String, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
načítajReťazec(String)
public static String upravRetazec(String reťazec, String výzva)
upravReťazec
.public static String upravReťazec(String reťazec, String výzva, String titulok)
načítajReťazec
, ibaže vyžaduje
zadanie reťazca určeného na úpravu.
reťazec
– reťazec určený na úpravuvýzva
– text výzvytitulok
– text titulku dialógového oknaString
s textom, ktorý
používateľ upravil alebo null
ak používateľ dialóg
zrušilupravReťazec(String, String)
,
upravCeléČíslo(int, String)
,
upravCeléČíslo(int, String, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
načítajReťazec(String, String)
public static String upravRetazec(String reťazec, String výzva, String titulok)
upravReťazec
.public static Long upravCeléČíslo(int celéČíslo, String výzva)
načítajCeléČíslo
, ibaže
vyžaduje zadanie celého čísla určeného na úpravu.
celéČíslo
– celé číslo určené na úpravuvýzva
– text výzvyLong
s celočíselnou hodnotou, ktorú
používateľ upravil, alebo null
ak používateľ dialóg
zrušil alebo zadal reťazec, ktorý nebolo možné previesť na
celé čísloupravReťazec(String, String)
,
upravReťazec(String, String, String)
,
upravCeléČíslo(int, String, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
načítajCeléČíslo(String)
public static Long upravCeleCislo(int celéČíslo, String výzva)
upravCeléČíslo
.public static Long upravCeléČíslo(int celéČíslo, String výzva, String titulok)
načítajCeléČíslo
,
ibaže vyžaduje zadanie celého čísla určeného na úpravu.
celéČíslo
– celé číslo určené na úpravuvýzva
– text výzvytitulok
– text titulku dialógového oknaLong
s celočíselnou hodnotou, ktorú
používateľ upravil, alebo null
ak používateľ dialóg
zrušil alebo zadal reťazec, ktorý nebolo možné previesť na
celé čísloupravReťazec(String, String)
,
upravReťazec(String, String, String)
,
upravCeléČíslo(int, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
načítajCeléČíslo(String, String)
public static Long upravCeleCislo(int celéČíslo, String výzva, String titulok)
upravCeléČíslo
.public static Double upravReálneČíslo(double reálneČíslo, String výzva)
načítajReálneČíslo
,
ibaže vyžaduje zadanie reálneho čísla určeného na úpravu.
reálneČíslo
– reálne číslo určené na úpravuvýzva
– text výzvyDouble
s celočíselnou
hodnotou, ktorú používateľ upravil, alebo null
ak
používateľ dialóg zrušil alebo zadal reťazec, ktorý
nebolo možné previesť na reálne čísloupravReťazec(String, String)
,
upravReťazec(String, String, String)
,
upravCeléČíslo(int, String)
,
upravCeléČíslo(int, String, String)
,
upravReálneČíslo(double, String, String)
,
načítajReálneČíslo(String)
public static Double upravRealneCislo(double reálneČíslo, String výzva)
upravReálneČíslo
.public static Double upravReálneČíslo(double reálneČíslo, String výzva, String titulok)
načítajReálneČíslo
, ibaže vyžaduje zadanie reálneho čísla
určeného na úpravu.
reálneČíslo
– reálne číslo určené na úpravuvýzva
– text výzvytitulok
– text titulku dialógového oknaDouble
s celočíselnou
hodnotou, ktorú používateľ upravil, alebo null
ak
používateľ dialóg zrušil alebo zadal reťazec, ktorý
nebolo možné previesť na reálne čísloupravReťazec(String, String)
,
upravReťazec(String, String, String)
,
upravCeléČíslo(int, String)
,
upravCeléČíslo(int, String, String)
,
upravReálneČíslo(double, String)
,
načítajReálneČíslo(String, String)
public static Double upravRealneCislo(double reálneČíslo, String výzva, String titulok)
upravReálneČíslo
.public static void správa(String správa)
správa
– text správyspráva(String, String)
,
otázka(String)
,
otázka(String, String)
,
otázka(String, Object[])
,
otázka(String, String, Object[])
,
otázka(String, Object[], int)
,
otázka(String, String, Object[], int)
public static void správa(String správa, String titulok)
správa
– text správytitulok
– text titulku dialógového okna správyspráva(String)
,
otázka(String)
,
otázka(String, String)
,
otázka(String, Object[])
,
otázka(String, String, Object[])
,
otázka(String, Object[], int)
,
otázka(String, String, Object[], int)
public static int otázka(String otázka)
Príklad:
int
i =Svet
.otázka
("Dobre?"
);if
(ÁNO
== i)Svet
.vypíš
("Odpoveď: áno"
);if
(NIE
== i)Svet
.vypíš
("Odpoveď: nie"
);if
(ZAVRETÉ
== i)Svet
.vypíš
("Nechceš odpovedať…"
);
otázka
– text otázkyZAVRETÉ
, keď
používateľ zavrel dialógspráva(String)
,
správa(String, String)
,
otázka(String, String)
,
otázka(String, Object[])
,
otázka(String, String, Object[])
,
otázka(String, Object[], int)
,
otázka(String, String, Object[], int)
public static int otázka(String otázka, String titulok)
Príklad:
int
i =Svet
.otázka
("Dobre?"
,"Otázočka na teba…"
);if
(ÁNO
== i)Svet
.vypíš
("Odpoveď: áno"
);if
(NIE
== i)Svet
.vypíš
("Odpoveď: nie"
);if
(ZAVRETÉ
== i)Svet
.vypíš
("Nechceš odpovedať…"
);
otázka
– text otázkytitulok
– text titulku okna s otázkouZAVRETÉ
, keď
používateľ zavrel dialógspráva(String)
,
správa(String, String)
,
otázka(String)
,
otázka(String, Object[])
,
otázka(String, String, Object[])
,
otázka(String, Object[], int)
,
otázka(String, String, Object[], int)
public static int otázka(String otázka, Object[] tlačidlá)
Príklad:
int
i =Svet
.otázka
("Ako?"
,new
String
[]{"Zle"
,"Dobre"
});// Spracovanie… Pozri príklad pri:
otázka(otázka, titulok, tlačidlá, predvolenéTlačidlo)
otázka
– text otázkytlačidlá
– zoznam popisov tlačidielZAVRETÉ
, keď
používateľ zavrel dialógspráva(String)
,
správa(String, String)
,
otázka(String)
,
otázka(String, String)
,
otázka(String, String, Object[])
,
otázka(String, Object[], int)
,
otázka(String, String, Object[], int)
public static int otázka(String otázka, String titulok, Object[] tlačidlá)
Príklad:
int
i =Svet
.otázka
("Ako?"
,"Otázočka na teba…"
,new
String
[]{"Zle"
,"Dobre"
});// Spracovanie… Pozri príklad pri:
otázka(otázka, titulok, tlačidlá, predvolenéTlačidlo)
otázka
– text otázkytitulok
– text titulku okna s otázkoutlačidlá
– zoznam popisov tlačidielZAVRETÉ
, keď
používateľ zavrel dialógspráva(String)
,
správa(String, String)
,
otázka(String)
,
otázka(String, String)
,
otázka(String, Object[])
,
otázka(String, Object[], int)
,
otázka(String, String, Object[], int)
public static int otázka(String otázka, Object[] tlačidlá, int predvolenéTlačidlo)
Príklad:
int
i =Svet
.otázka
("Ako?"
,new
String
[]{"Zle"
,"Dobre"
},1
);// Spracovanie… Pozri príklad pri:
otázka(otázka, titulok, tlačidlá, predvolenéTlačidlo)
otázka
– text otázkytlačidlá
– zoznam popisov tlačidielpredvolenéTlačidlo
– poradové číslo predvoleného tlačidlaZAVRETÉ
, keď
používateľ zavrel dialógspráva(String)
,
správa(String, String)
,
otázka(String)
,
otázka(String, String)
,
otázka(String, Object[])
,
otázka(String, String, Object[])
,
otázka(String, String, Object[], int)
public static int otazka(String otázka, Object[] tlačidlá, int predvolenéTlačidlo)
otázka
.public static int otázka(String otázka, String titulok, Object[] tlačidlá, int predvolenéTlačidlo)
Príklad:
int
i =Svet
.otázka
("Ako?"
,"Otázočka na teba…"
,new
String
[]{"Zle"
,"Dobre"
},1
);if
(0 == i)Svet
.vypíš
("Zle, vravíš? Škoda…"
);if
(1 == i)Svet
.vypíš
("Dobre, vravíš? Výborne!"
);if
(ZAVRETÉ
== i)Svet
.vypíš
("Nechceš odpovedať…"
);
otázka
– text otázkytitulok
– text titulku okna s otázkoutlačidlá
– zoznam popisov tlačidielpredvolenéTlačidlo
– poradové číslo predvoleného tlačidlaZAVRETÉ
, keď
používateľ zavrel dialógspráva(String)
,
správa(String, String)
,
otázka(String)
,
otázka(String, String)
,
otázka(String, Object[])
,
otázka(String, String, Object[])
,
otázka(String, Object[], int)
public static int otazka(String otázka, String titulok, Object[] tlačidlá, int predvolenéTlačidlo)
otázka
.public static void zobrazÚvodnúObrazovku(Image obrázok)
skryÚvodnúObrazovku
na skrytie
úvodnej obrazovky a zobrazenie hlavného okna sveta…
(Poznámka: Java má vlastný mechanizmus
definovania úvodnej obrazovky (SplashScreen
),
avšak takúto úvodnú obrazovku nie je možné vytvoriť programovo,
preto používa skupina tried grafického robota svoj vlastný
spôsob.)
Obrázok pre túto verziu metódy musíte definovať sami. Nie je
predpísaný spôsob, ale dá sa očakávať využitie triedy Obrázok
a mechanizmu kreslenia na obrázok pomocou
robota. Treba pri tom zvážiť viacero okolností. Zobrazenie
úvodnej obrazovky je očakávané v čase, keď ešte hlavné okno nie
je zobrazené. V podstate v čase, keď ešte nejestvuje žiadny
robot. Preto, ak chceme používať kreslenie pomocou robota, musíme
jedného na tento účel vytvoriť. Prvý vytvorený robot je zároveň
hlavný robot zodpovedný za
vytvorenie a zobrazenie hlavného okna. Preto musíme pred jeho
vytvorením volať metódu Svet
.
skry
()
. Najlepšie je celý kód umiestniť do
hlavnej metódy (main
).
Príklad:
public
class
HlavnáTriedaextends
GRobot
{private
HlavnáTrieda() {Svet
.čakaj
(3.0
); }public
static
void
main(String
[] args) {Svet
.skry
();GRobot
kreslič =new
GRobot
();Obrázok
obrázok =new
Obrázok
(300
,200
); kreslič.kresliNaObrázok
(obrázok);// Kreslenie
obrázok.vyplň
(svetlošedá);// Chceli sme orámovať plochu obrázka. Robot pracuje s odlišným
// súradnicovým priestorom, preto bolo na nájdenie vhodných hodnôt
// potrebné trochu experimentovať:
kreslič.skoč
(-
0.5
,0.5
); kreslič.obdĺžnik
(149.5
,99.5
); kreslič.písmo
("Arial"
,32
); kreslič.text
("Čakajte…"
); kreslič.skry
();// Zobrazenie
Svet
.zobrazÚvodnúObrazovku
(obrázok);new
HlavnáTrieda();Svet
.skryÚvodnúObrazovku
(); } }
Vidíme, že tento spôsob prináša určité komplikácie, preto
odporúčame obrázok určený na zobrazenie počas inicializácie uložiť
do súboru v niektorom z podporovaných súborových a použiť ďalšiu
verziu metódy zobrazÚvodnúObrazovku
prijímajúcu názov
súboru: zobrazÚvodnúObrazovku(názovSúboru)
.
Vhodný obrázok môžeme vyrobiť aj sami. Nasledujúci príklad
nahrádza obsah metódy main
predchádzajúceho príkladu. Využíva
obe verzie metódy zobrazÚvodnúObrazovku
. Ak súbor
s obrázkom jestvuje, zobrazí ho, inak ho najskôr vyrobí a potom
zobrazí jeho vyrobenú verziu uloženú v pamäti:
if
(Súbor
.jestvuje
("môjObrázok.png"
))Svet
.zobrazÚvodnúObrazovku
("môjObrázok.png"
);else
{Svet
.skry
();GRobot
kreslič =new
GRobot
();Obrázok
obrázok =new
Obrázok
(300
,200
); kreslič.kresliNaObrázok
(obrázok);// Kreslenie
kreslič.farba
(199
,201
,203
,9
);for
(double
i =1
; i >0
; i -=0.03
) kreslič.vyplňElipsu
(150.0
* i,100.0
* i); kreslič.farba
(99
,101
,103
); kreslič.písmo
("Arial"
,32
); kreslič.text
("Čakajte…"
); obrázok.ulož
("môjObrázok.png"
); kreslič.skry
();// Zobrazenie
Svet
.zobrazÚvodnúObrazovku
(obrázok); }new
HlavnáTrieda();Svet
.skryÚvodnúObrazovku
();
O niečo zdokonalenú verziu môžete vidieť na nasledujúcom obrázku:
uvodnaObrazovka1.png
Obrázok je pre demonštráciu polopriehľadný. Zobrazenie priehľadnosti okna závisí od platformy a verzie Javy.
obrázok
– objekt obrázka; môže byť použitý aj objekt
typu Obrázok
zobrazÚvodnúObrazovku(String)
,
skryÚvodnúObrazovku()
public static void zobrazUvodnuObrazovku(Image úvodnýObrázok)
zobrazÚvodnúObrazovku
.public static void zobrazÚvodnúObrazovku(String názovSúboru)
skryÚvodnúObrazovku
na skrytie úvodnej obrazovky a zobrazenie
hlavného okna sveta…
(Poznámka: Java má vlastný mechanizmus
definovania úvodnej obrazovky (SplashScreen
),
avšak takúto úvodnú obrazovku nie je možné vytvoriť programovo,
preto používa skupina tried grafického robota svoj vlastný
spôsob.)
Príklad:
public
class
HlavnáTriedaextends
GRobot
{private
HlavnáTrieda() {Svet
.čakaj
(1.0
); }public
static
void
main(String
[] args) {Svet
.zobrazÚvodnúObrazovku
("môjObrázok.png"
);new
HlavnáTrieda();Svet
.skryÚvodnúObrazovku
(); } }
názovSúboru
– názov súboru s obrázkom (prípona súboru musí
byť .png
alebo .jpg
)zobrazÚvodnúObrazovku(Image)
,
skryÚvodnúObrazovku()
,
priečinokObrázkov(String)
public static void zobrazUvodnuObrazovku(String názovSúboru)
zobrazÚvodnúObrazovku
.public static void skryÚvodnúObrazovku()
zobrazÚvodnúObrazovku(obrázok)
a zobrazÚvodnúObrazovku(názovSúboru)
…
public static void skryUvodnuObrazovku()
skryÚvodnúObrazovku
.public static boolean začniVstup()
false
.
Riadok je možné zrušiť klávesom Escape
alebo potvrdiť
klávesom Enter
. Ak bola použitá metóda neskrývajVstupnýRiadok
, kláves
Escape
iba vymaže obsah vstupného riadka, ale neskryje
ho. Po potvrdení vstupu klávesom Enter
aplikácia vyvolá
metódu počúvadla potvrdenieÚdajov
. V nej môže programátor získať zadané údaje
metódami
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), vrátia metódy prevezmiCeléČíslo
a prevezmiReálneČíslo
hodnotu null
.
(Poznámka: Táto metóda je použitá v príklade „Hra na ozvenu“, ktorý sa nachádza v úvode dokumentácie tejto triedy…)
true
ak bol pred volaním metódy vstupný riadok
skrytý, false
ak bol vstupný riadok zobrazený (čiže
ak vstup už prebieha)začniVstup(String)
,
potvrďVstup()
,
zrušVstup()
,
vstupnýRiadokZobrazený()
,
vstupnýRiadok()
,
prevezmiReťazec()
public static boolean zacniVstup()
začniVstup
.public static boolean začniVstup(String výzva)
začniVstup()
, s tým rozdielom, že pred
vstupným riadkom je zobrazená návesť s výzvou.výzva
– text výzvy zobrazenej vo forme náveste pred vstupným
riadkomtrue
ak bol pred volaním metódy vstupný riadok
skrytý, false
ak bol vstupný riadok zobrazený (čiže
ak už vstup prebieha)začniVstup()
,
potvrďVstup()
,
zrušVstup()
,
vstupnýRiadokZobrazený()
,
vstupnýRiadok()
,
prevezmiReťazec()
public static boolean zacniVstup(String výzva)
začniVstup
.public static void potvrďVstup()
Enter
.public static void potvrdVstup()
potvrďVstup
.public static void zrušVstup()
Escape
.public static void zrusVstup()
zrušVstup
.public static boolean vstupnýRiadokZobrazený()
true
– áno; false
– nieneskrývajVstupnýRiadok()
,
neskrývajVstupnýRiadok(boolean)
,
skrývajVstupnýRiadok()
,
skrývajVstupnýRiadok(boolean)
,
aktivujVstupnýRiadok()
,
začniVstup()
,
vstupnýRiadok()
,
prevezmiReťazec()
public static boolean vstupnyRiadokZobrazeny()
vstupnýRiadokZobrazený
.public static void neskrývajVstupnýRiadok()
Enter
. Ak je v čase spustenia tejto metódy skrytý, je ho
potrebné zobraziť metódou začniVstup
alebo
použiť alternatívnu metódu neskrývajVstupnýRiadok(boolean)
.
(Poznámka: Táto metóda je použitá v príklade „Hra na ozvenu“, ktorý sa nachádza v úvode dokumentácie tejto triedy…)
public static void neskryvajVstupnyRiadok()
neskrývajVstupnýRiadok
.public static boolean neskrývajVstupnýRiadok(boolean začniVstup)
Enter
. Táto metóda je alternatívou metódy neskrývajVstupnýRiadok
, pričom
poskytuje rozšírenú funkcionalitu opísanú nižšie…začniVstup
– ak je true
, vykoná sa zároveň metóda
začniVstup
; ak je false
,
vstupný riadok zostane v pôvodnom stavezačniVstup
true
, tak
návratová hodnota je návratovou hodnotou metódy začniVstup
; ak je parameter začniVstup
false
, tak návratová hodnota je true
ak
je vstupný riadok zobrazený a false
v opačnom
prípadevstupnýRiadokZobrazený()
,
neskrývajVstupnýRiadok()
,
skrývajVstupnýRiadok()
,
skrývajVstupnýRiadok(boolean)
,
aktivujVstupnýRiadok()
,
začniVstup()
,
vstupnýRiadok()
,
prevezmiReťazec()
public static boolean neskryvajVstupnyRiadok(boolean začniVstup)
neskrývajVstupnýRiadok
.public static void skrývajVstupnýRiadok()
Enter
alebo po zrušení vstupu klávesom Escape
.
Toto je predvolené správanie vstupného riadka.public static void skryvajVstupnyRiadok()
skrývajVstupnýRiadok
.public static void skrývajVstupnýRiadok(boolean zrušVstup)
Enter
alebo po zrušení vstupu klávesom Escape
.
Toto je predvolené správanie vstupného riadka. Táto metóda je
alternatívou metódy skrývajVstupnýRiadok
, pričom poskytuje rozšírenú funkcionalitu
opísanú nižšie…zrušVstup
– ak je true
, vykoná sa zároveň metóda
zrušVstup
; ak je false
,
vstupný riadok zostane v pôvodnom stavevstupnýRiadokZobrazený()
,
neskrývajVstupnýRiadok()
,
neskrývajVstupnýRiadok(boolean)
,
skrývajVstupnýRiadok()
,
aktivujVstupnýRiadok()
,
začniVstup()
,
vstupnýRiadok()
,
prevezmiReťazec()
public static void skryvajVstupnyRiadok(boolean zrušVstup)
skrývajVstupnýRiadok
.public static void aktivujVstupnýRiadok()
public static void aktivujVstupnyRiadok()
aktivujVstupnýRiadok
.public static JTextField vstupnýRiadok()
JTextField
reprezentujúci vstupný riadokpopisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
public static JTextField vstupnyRiadok()
vstupnýRiadok
.public static String popisVstupnéhoRiadka()
null
vstupnýRiadok()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
public static String popisVstupnehoRiadka()
popisVstupnéhoRiadka
.public static void popisVstupnéhoRiadka(String výzva)
začniVstup()
), popis bude po volaní tejto metódy
zobrazený. Ak je táto metóda volaná s argumentom null
,
popis bude skrytý.výzva
– nový text popisu vstupného riadkavstupnýRiadok()
,
popisVstupnéhoRiadka()
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
public static void popisVstupnehoRiadka(String výzva)
popisVstupnéhoRiadka
.public static String textVstupnéhoRiadka()
Enter
.vstupnýRiadok()
,
popisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
public static String textVstupnehoRiadka()
textVstupnéhoRiadka
.public static void textVstupnéhoRiadka(String text)
začniVstup()
vždy pred zobrazením panela so
vstupným riadkom vyčistí vstupný riadok (vymaže jeho obsah).text
– nový text vstupného riadkavstupnýRiadok()
,
popisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
public static void textVstupnehoRiadka(String text)
textVstupnéhoRiadka
.public static void pripojTextVstupnéhoRiadka(String naPripojenie)
naPripojenie
– text na pripojenievstupnýRiadok()
,
popisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
public static void pripojTextVstupnehoRiadka(String naPripojenie)
pripojTextVstupnéhoRiadka
.public static String prevezmiReťazec()
Enter
. Vstup pomocou vstupného riadka sa zahajuje metódou
začniVstup
.String
obsahujúci
text zadaný používateľomprevezmiZrušenéÚdaje()
,
prevezmiCeléČíslo()
,
prevezmiReálneČíslo()
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
vstupnýRiadok()
public static String prevezmiRetazec()
prevezmiReťazec
.public static String prevezmiZrušenéÚdaje()
Esc
.
String
obsahujúci
text príkazového riadka pred zrušenímprevezmiReťazec()
,
prevezmiCeléČíslo()
,
prevezmiReálneČíslo()
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
vstupnýRiadok()
public static String prevezmiZruseneUdaje()
prevezmiZrušenéÚdaje
.public static Long prevezmiCeléČíslo()
Enter
. Metóda vráti null
v prípade, že do
vstupného riadka nebolo zadané celé číslo. Vstup pomocou
vstupného riadka sa zahajuje metódou začniVstup
.Long
obsahujúci zadané celé číslo,
alebo null
v prípade chybyprevezmiReťazec()
,
prevezmiReálneČíslo()
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
vstupnýRiadok()
public static Long prevezmiCeleCislo()
prevezmiCeléČíslo
.public static Double prevezmiReálneČíslo()
Enter
. Metóda vráti null
v prípade,
že do vstupného riadka nebolo zadané reálne číslo. Vstup pomocou
vstupného riadka sa zahajuje metódou začniVstup
.Double
obsahujúci
zadané reálne číslo alebo null
v prípade chybyprevezmiReťazec()
,
prevezmiCeléČíslo()
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
vstupnýRiadok()
public static Double prevezmiRealneCislo()
prevezmiReálneČíslo
.public static void režimLadenia(boolean zapniLadenie)
ladenie
, ak je definovaná obsluha udalostí.
zapniLadenie
– true
alebo false
interaktívnyRežim(boolean)
,
vykonajPríkaz(String)
,
vykonajSkript(String[])
,
GRobot.ObsluhaUdalostí.ladenie(int, String, int)
public static void rezimLadenia(boolean zapniLadenie)
režimLadenia
.public static boolean režimLadenia()
true
alebo false
režimLadenia(boolean)
public static boolean rezimLadenia()
režimLadenia
.public static boolean premennáJestvuje(String názov, Class<?> typ)
názov
– názov premennejtyp
– typ premennej – povolené sú: Double.class
,
Color.class
, Poloha.class
alebo
String.class
true
;
ak premenná nejestvuje alebo bol zadaný nepovolený údajový
typ premennej, tak je návratovou hodnotou tejto metódy
hodnota false
public static boolean premennaJestvuje(String názov, Class<?> typ)
premennáJestvuje
.public static boolean premennáExistuje(String názov, Class<?> typ)
premennáJestvuje
.public static boolean premennaExistuje(String názov, Class<?> typ)
premennáJestvuje
.public static Object čítajPremennú(String názov, Class<?> typ)
názov
– názov premennejtyp
– typ premennej – povolené sú: Double.class
,
Color.class
, Poloha.class
alebo
String.class
null
), alebo
bol zadaný nepovolený údajový typ premennej, tak je návratová
hodnota tejto metódy null
public static Object citajPremennu(String názov, Class<?> typ)
čítajPremennú
.public static void zapíšPremennú(String názov, Object hodnota)
public static void zapisPremennu(String názov, Object hodnota)
zapíšPremennú
.public static int vykonajSkript(String[] riadky)
vykonajPríkaz
alebo sveta
vykonajPríkaz
, komentár,
alebo jeden z nasledujúcich príkazov skriptu:
definíciu menovky, podmienený skok, podmienený skok
s dekrementáciou premennej („cyklus“),
podmienený skok s alternatívou alebo podmienený skok
s dekrementáciou premennej („cyklus“) s alternatívou:
; «text» | – | komentár – tento riadok bude ignorovaný |
: «názov» | – | definícia menovky, ktorá je používaná na podmienené skoky |
@ «názov inštancie» | – | definícia aktívnej inštancie |
@ | – | zrušenie aktívnej inštancie |
ak «premenná alebo hodnota» «menovka» | – | podmienený skok – ak je «premenná alebo hodnota» nenulová, tak vykonávanie skriptu prejde (preskočí) na riadok označený menovkou |
ak «premenná alebo hodnota» «menovka1» inak «menovka2» | – | podmienený skok s alternatívou – ak je «premenná alebo hodnota» nenulová, tak vykonávanie skriptu prejde (preskočí) na riadok označený menovkou «menovka1», inak na riadok označený menovkou «menovka2» |
dokedy «premenná» «menovka» | – | podmienený skok s dekrementáciou premennej („cyklus“) – najprv sa zníži hodnota premennej o 1 a ak je výsledok výpočtu záporný, nastaví sa jej hodnota na nulu; ak je výsledná hodnota premennej kladná, tak vykonávanie skriptu prejde (preskočí) na riadok označený menovkou |
dokedy «premenná» «menovka1» inak «menovka2» | – | podmienený skok s dekrementáciou premennej („cyklus“) s alternatívou – najprv sa zníži hodnota premennej o 1 a ak je výsledok výpočtu záporný, nastaví sa jej hodnota na nulu; ak je výsledná hodnota premennej kladná, tak vykonávanie skriptu prejde (preskočí) na riadok označený menovkou «menovka1», inak na riadok označený menovkou «menovka2» |
riadky
– pole reťazcov reprezentujúcich riadky skriptuinteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
textPoslednejChyby()
public static int vykonajSkript(String skript)
\n
.
Pravidlá vykonávania sú rovnaké ako pri metóde
vykonajSkript(riadky)
.
skript
– skript uložený v jednom reťazciinteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
textPoslednejChyby()
public static int vykonajSkript(String skript, boolean zoSúboru)
false
, tak je prvý parameter považovaný za skript
a metóda sa správa rovnako ako metóda vykonajSkript(skript)
. Ak je druhý
parameter rovný true
, tak prvý parameter je
považovaný za názov súboru, z ktorého má byť skript načítaný
a vykonaný. Pravidlá vykonávania sú rovnaké ako pri metóde
vykonajSkript(riadky)
.
Príklad skriptu uloženého v súbore:
skoč -72.5, -30
hrúbka čiary 3.2
farba žltá
začni cestu
nech i = 8
:opakuj
dopredu 60
vpravo 45
dokedy i, opakuj
vyplň cestu
farba červená
obkresli cestu
farba čierna
domov
farba textu purpurová
vypíš riadok "Hotovo!
skript
– názov súboru so skriptom alebo skript uložený
v jednom reťazcizoSúboru
– ak je true
, tak je prvý parameter
považovaný za názov súboru so skriptom; ak je false
,
tak je prvý parameter považovaný za skript (rovnako ako pri
metóde vykonajSkript(skript)
)interaktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
textPoslednejChyby()
public static boolean skriptJeSpustený()
spustiSkript
(alebo niektorou jeho modifikáciou).
true
ak je skript spustenýspustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(String, boolean)
public static boolean skriptJeSpusteny()
skriptJeSpustený
.public static void spustiSkript(String[] riadky)
vykonajSkript(riadky)
, ale spustí vykonávanie v samostatnom vlákne
Javy, takže môže byť ladené. Keďže pri tomto spôsobe nie je možné
získať návratovú hodnotu priamo, tak je v prípade vzniku chyby
počas vykonávania skriptu spustená reakcia
ladenie
, ktorej
je poslané číslo chybového riadka v parametri riadok
, text
chybového hlásenia v parametri príkaz
a správa
má
kód UKONČENIE_CHYBOU
.
Ak chyba nevznikne, tak je tiež spustená reakcia
ladenie
, ale prvé
dva parametre sú prázdne a správa
má kód
UKONČENIE_SKRIPTU
. Dokedy nie je
ukončená činnosť jedného skriptu, nie je možné spustiť vykonávanie
ďalšieho, ale v priebehu jeho činnosti je možné (aj keď nie
odporúčané) vykonať iný skript (metódou
vykonajSkript
alebo jej „klonmi“)
alebo príkaz (metódou vykonajPríkaz
alebo jej „klonmi“).
Príklad:
Zabezpečenie spustenia samotného príkazu
spustiSkript
je jednoduché (v tomto príklade ho nájdete
v metóde spusti
), ale zabezpečenie spracovania rôznych
situácií (udalostí) počas ladenia si vyžaduje náročnejší prístup.
V tomto príklade je v komentároch stručne opísaný účel jednotlivých
častí programu s prípadnými návrhmi na ďalšie vylepšovanie. Tento
príklad v podstate iba naznačuje rôzne aspekty ladenia.
public
class
TestLadenieSkriptuextends
GRobot
{// Nasledujúce premenné sú „semafóry“ používané počas procesu ladenia:
//
// – krok: hodnota tejto premennej riadi krokovanie; hodnota true
// znamená posunutie programu o krok ďalej (na ďalší príkaz)
// – prerušiť: nastavením hodnoty tejto premennej na true je možné
// ladenie programu predčasne ukončiť
private
boolean
krok =false
, prerušiť =false
;// Konštruktor.
private
TestLadenieSkriptu() {// Definovanie obsluhy udalostí…
new
ObsluhaUdalostí
() {@
Overridepublic
boolean
ladenie
(int
riadok, String príkaz,int
správa) {// Nasledujúce vetvenie zabezpečuje spracovanie rôznych
// situácií počas ladenia:
switch
(správa) {case
ČAKAŤ
:// Čakanie počas krokovania:
if
(krok) { krok =false
;return
false
; }return
true
;case
PRERUŠIŤ
:// Predčasné ukončenie vykonávania skriptu:
if
(prerušiť) {Svet
.farbaTextu
(tmavooranžová
);Svet
.vypíšRiadok
("Vykonávanie bolo prerušené."
);// Ďalšie podrobnosti by sme mohli vypísať
// napríklad pomocou nasledujúceho úryvku kódu:
// "na riadku", riadok, ":", GRobot.
riadok
,
// príkaz
}return
prerušiť;// Výpis definovaných menoviek skriptu odfiltrujeme:
case
VYPÍSAŤ_MENOVKU
:return
false
;case
UKONČENIE_SKRIPTU
:if
(!prerušiť) {// Informáciu o ukončení vypíšeme len v prípade,
// že program nebol prerušený:
Svet
.farbaTextu
(tmavotyrkysová
);Svet
.vypíšRiadok
("Vykonávanie bolo dokončené."
); }return
false
;case
UKONČENIE_CHYBOU
:// Vypíšeme len text chyby…
Svet
.farbaTextu
(červená
);Svet
.vypíšRiadok
(príkaz);// Ďalšie podrobnosti by sme mohli vypísať
// napríklad pomocou nasledujúcich úryvkov kódu:
// "Číslo chyby", Svet.
kódPoslednejChyby
()
// "Riadok chyby ", riadok
return
false
;// Nefiltrujeme žiadne príkazy,
// vykonávame všetko bez rozdielu:
case
ZABRÁNIŤ_VYKONANIU
:return
false
; }// Na všetky ostatné otázky režimu ladenia (
VYPÍSAŤ_PREMENNÉ
,
//
VYPÍSAŤ_RIADOK
,
VYPÍSAŤ_PRÍKAZ
,
VYKONAŤ_PRÍKAZ
) odpovedáme
// kladne:
return
true
; }// Bez definovania tejto reakcie by nebolo možné rolovať texty
// stropu kolieskom myši. (Pozri informácie uvedené v opise metódy
// Plátno.
rolujTexty
(Δx, Δy); )
@
Overridepublic
void
rolovanieKolieskomMyši
() {strop
.rolujTexty
(); }@
Overridepublic
void
klik
() {// Ak bolo stlačené pravé tlačidlo myši, zistíme hodnotu
// číselnej premennej (toto je tu uvedené na demonštračné
// účely, dalo by sa to rozpracovať tak, aby si používateľ
// mohol zvoliť typ premennej).
if
(ÚdajeUdalostí
.tlačidloMyši
(PRAVÉ
)) {String
názov =Svet
.načítajReťazec
("Názov číselnej premennej:"
);if
(null
!= názov) {if
(Svet
.premennáJestvuje
(názov, Double.class
)) {Svet
.farbaTextu
(tyrkysová
);Svet
.vypíšRiadok
(" "
, názov," = "
,Svet
.čítajPremennú
(názov, Double.class
)); }else
{Svet
.farbaTextu
(červená
);Svet
.vypíšRiadok
(" Premenná "
, názov,"nejestvuje."
); } } }// Inak (t. j. ak boli stlačené ostatné tlačidlá myši):
// Ak prebieha vykonávanie skriptu, tak prejdeme na
// ďalší krok, inak začneme vykonávanie nového skriptu.
else
if
(Svet
.skriptJeSpustený
()) krok =true
;else
spusti(); }@
Overridepublic
void
stlačenieKlávesu
() {if
(ÚdajeUdalostí
.kláves
(Kláves
.ESCAPE
)) {// Klávesom ESC prerušíme ladenie…
prerušiť =true
; krok =true
; }else
if
(Svet
.skriptJeSpustený
() &&ÚdajeUdalostí
.kláves
(Kláves
.MEDZERA
)) {// Klávesom medzera krokujeme…
krok =true
; } } };// Musíme zapnúť režim interaktívny režim (zapneme len Svet a robota),
// režim ladenia a zabezpečíme, aby sa robot automaticky neskryl po
// prvom výpise na vnútornú konzolu knižnice (pozri poznámku v opise
// metódy Plátno.
vypíš
)
Svet
.režimLadenia
(true
);Svet
.interaktívnyRežim
(true
);Svet
.vypíš
(this
);interaktívnyRežim
(true
); spusti(); }// Touto metódou sa spúšťa nové ladenie skriptu. Logicky, pokus
// o spustenie nového ladenia bude vykonaný len v takom prípade,
// keď nie je v činnosti iné ladenie. (Volanie metódy
spustiSkript
// by v opačnom prípade i tak nemalo žiadny efekt.)
public
void
spusti() {if
(!Svet
.skriptJeSpustený
()) { krok =false
; prerušiť =false
;domov
();Svet
.vymaž
();Svet
.spustiSkript
("Test.GRScript"
,true
); } }// Hlavná metóda.
public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
();new
TestLadenieSkriptu(); } }
riadky
– pole reťazcov reprezentujúcich riadky skriptuinteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
textPoslednejChyby()
public static void spustiSkript(String skript)
vykonajSkript(skript)
, ale spustí vykonávanie v samostatnom vlákne
Javy, takže môže byť ladené. Keďže pri tomto spôsobe nie je možné
získať návratovú hodnotu priamo, tak je v prípade vzniku chyby
počas vykonávania skriptu spustená reakcia
ladenie
, ktorej
je poslané číslo chybového riadka v parametri riadok
, text
chybového hlásenia v parametri príkaz
a správa
má
kód UKONČENIE_CHYBOU
.
Ak chyba nevznikne, tak je tiež spustená reakcia
ladenie
, ale prvé
dva parametre sú prázdne a správa
má kód
UKONČENIE_SKRIPTU
. Dokedy nie je
ukončená činnosť jedného skriptu, nie je možné spustiť vykonávanie
ďalšieho, ale v priebehu jeho činnosti je možné (aj keď nie
odporúčané) vykonať iný skript (metódou
vykonajSkript
alebo jej „klonmi“)
alebo príkaz (metódou vykonajPríkaz
alebo jej „klonmi“).
skript
– skript uložený v jednom reťazciinteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
textPoslednejChyby()
public static void spustiSkript(String skript, boolean zoSúboru)
vykonajSkript(skript, zoSúboru)
, ale spustí vykonávanie
v samostatnom vlákne Javy, takže môže byť ladené. Keďže pri tomto
spôsobe nie je možné získať návratovú hodnotu priamo, tak je
v prípade vzniku chyby počas vykonávania skriptu spustená reakcia
ladenie
, ktorej
je poslané číslo chybového riadka v parametri riadok
, text
chybového hlásenia v parametri príkaz
a správa
má
kód UKONČENIE_CHYBOU
.
Ak chyba nevznikne, tak je tiež spustená reakcia
ladenie
, ale prvé
dva parametre sú prázdne a správa
má kód
UKONČENIE_SKRIPTU
. Dokedy nie je
ukončená činnosť jedného skriptu, nie je možné spustiť vykonávanie
ďalšieho, ale v priebehu jeho činnosti je možné (aj keď nie
odporúčané) vykonať iný skript (metódou
vykonajSkript
alebo jej „klonmi“)
alebo príkaz (metódou vykonajPríkaz
alebo jej „klonmi“).
skript
– názov súboru so skriptom alebo skript uložený
v jednom reťazcizoSúboru
– ak je true
, tak je prvý parameter
považovaný za názov súboru so skriptom; ak je false
,
tak je prvý parameter považovaný za skript (rovnako ako pri
metóde spustiSkript(skript)
)interaktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
kódPoslednejChyby()
,
textPoslednejChyby()
public static boolean vykonajPríkaz(String príkaz)
príkaz
– príkazový riadok spĺňajúci pravidlá uvedené
tutrue
ak bol príkaz nájdený a podarilo
sa ho vykonaťGRobot.vykonajPríkaz(String)
,
GRobot.Plátno.vykonajPríkaz(String)
,
GRobot.interaktívnyRežim(boolean)
,
interaktívnyRežim(boolean)
,
GRobot.Plátno.interaktívnyRežim(boolean)
,
režimLadenia(boolean)
public static boolean vykonajPrikaz(String príkaz)
vykonajPríkaz
.public static void interaktívnyRežim(boolean zapni)
Tento režim umožňuje pracovať so zvoleným robotom/robotmi,
svetom a/alebo plátnom tak, že mnohé príkazy môžu byť spracúvané
priamo počas činnosti programu a to buď zadaním do zobrazeného
príkazového riadka, alebo
spustením skriptu.
Príkazy interaktívneho režimu môžu byť vykonávané aj bez jeho
aktivácie a to volaním prislúchajúcej metódy –
robot.vykonajPríkaz(príkaz)
Svet.vykonajPríkaz(príkaz)
,
podlaha.vykonajPríkaz(príkaz)
,
alebo
strop.vykonajPríkaz(príkaz)
.
Vykonávanie príkazov interaktívneho režimu nie je z pohľadu spracovania príliš efektívne, ale je názorné. Začínajúci študent/programátor môže ľahko vidieť, ktorý zo základných príkazov má aký efekt. Po zapnutí interaktívneho príkazového režimu pre niektorého z robotov, svet a/alebo plátno je automaticky zobrazený vstupný riadok, ktorý od tejto chvíle očakáva príkazy zadané v špecifickom tvare opísanom nižšie.
Po potvrdení vstupu alebo spustení skriptu sú prehľadávané všetky inštancie robota
(alebo jeho potomkov), ktoré majú tento režim aktivovaný, v rámci
toho je prehľadaná trieda Súbor
rovnakého robota,
potom je prehľadná trieda Svet
spolu s triedou Javy
Math
a statickou časťou tried
Bod
a Farba
. Nakoniec sú prehľadané
inštancie plátien podlaha a strop. (Hľadajú sa
príkazy, ktoré zodpovedajú schéme opísanej nižšie.)
To znamená, že príkazy sú prioritne posielané inštanciám robotov
(ktoré sú v interaktívnom režime) a až potom ostatným inštanciám
(Svet
, Math
…). Prvý pozitívny
výsledok v dávke spracovania príkazového riadka ukončuje ďalšie
spracovanie. To znamená, že ak zareaguje aspoň jeden robot (môžu
zareagovať aj všetky), tak sa spracovanie príkazu končí.
Iba v prípade, že na zadaný príkaz nezareagoval žiadny robot, je
príkaz poslaný svetu a ten v prípade svojho neúspechu dodatočne
prehľadá ďalšie triedy (Math
…).
Ak nezareaguje ani jedna súčasť prehľadávaná svetom, tak sú na
rade plátna. Ak majú interaktívny režim aktivované obe plátna,
im je príkaz poslaný obom, ak iba jedno, tak iba jednému z nich.
Ak je aktívna obsluha udalostí, tak je v prípade pozitívneho
výsledku spracovania príkazu potvrdeného v príkazovom riadku
spustená reakcia
spracovaniePríkazu
.
V prípade negatívneho výsledku (t. j. ak potvrdený príkaz nebol
rozpoznaný žiadnou z prehľadávaných súčastí) sú spustené reakcie
na klasické potvrdenie vstupu
(potvrdenieÚdajov
,
potvrdenieVstupu
).
Po deaktivovaní interaktívneho príkazového režimu všetkých dotknutých entít (robotov a/alebo sveta), je vstupný riadok automaticky skrytý a to bez ohľadu na to, či bol pred aktiváciou režimu zobrazený alebo nie.
Príkazy interaktívneho režimu nie sú zadávané
v syntakticky identickom tvare ako pri volaní metódy Javy.
Zápis príkazu musí byť ekvivalentný takej metóde robota (resp.
sveta alebo metódy Math
), ktorá spĺňa jednu
z nasledujúcich podmienok:
double
alebo int
),boolean
),Poznámka: Počet argumentov konkrétneho príkazu musí byť rovnaký ako počet parametrov metódy, ktorej volanie má reprezentovať. To, že počet číselných argumentov sa môže pohybovať v rozsahu nula až štyri znamená, že interaktívny režim vyhľadáva iba také metódy, ktoré majú uvedený počet argumentov
Jednotlivé slová príkazov interaktívneho režimu musia byť
oddelené medzerou, na veľkosti písmen nezáleží a diakritika musí
byť buď úplne uvedená, alebo úplne vynechaná. Argumenty musia byť
od príkazu aj od seba navzájom oddelené medzerou alebo čiarkou.
Ich údajový typ musí byť v súlade s vyššie uvedeným. Reťazcový
argument musí byť vždy uvedený ako posledný (aj keď ide
o ekvivalent metódy, ktorá ho má v skutočnosti na začiatku)
a musí sa začínať strojopisnými úvodzovkami "
.
Interaktívny režim umožňuje pracovať s vnútornými premennými.
Premenná vzniká pri prvom vložení hodnoty, na to slúži príkaz
nech
, za ktorým musí nasledovať názov premennej. Za názvom
premennej môže byť uvedený operátor a ak nejde o unárny operátor,
tak ďalej musí byť uvedená buď hodnota, alebo príkaz spĺňajúci
podmienky uvedené vyššie. Binárne operácie fungujú tak, že uvedená
hodnota alebo výsledok príkazu sú spracované s aktuálnou hodnotou
premennej – to znamená, že ak ide o sčítanie, tak je hodnota
pripočítaná k hodnote premennej, ak ide o logický súčet, tak
výsledok v premennej bude nula v prípade, že je hodnota premennej
aj výrazu napravo boli nenulové a jedna v opačnom prípade atď.
Návratová hodnota príkazu (originálnej metódy knižnice)
musí byť číslo (prípadne logická hodnota), farba, poloha alebo
reťazec. Ak sa pracuje s číslami, tak operátor môže byť jeden
z nasledujúcej tabuľky:
= | – | priradenie | |
+ | – | sčítanie | |
- | – | odčítanie | |
* | – | násobenie | |
/ | – | delenie | |
% | – | zvyšok po delení | |
_ | – | odseknutie – odstránenie desatinnej časti | |
~ | – | zmena znamienka (z kladného na záporné alebo naopak) | |
== | – | zhoda | |
!= | – | nezhoda | |
! | – | logická negácia | |
&& | – | logické a súčasne | |
|| | – | logické alebo | |
> | – | väčší než | |
< | – | menší než | |
>= | – | väčší alebo rovný než | |
<= | – | menší alebo rovný než |
Napríklad:
nech a = 10.0
nech a + 2.0
nech f = farba
Príkazy sveta vypíš
a vypíšRiadok
sú sprístupnené nad rámec
vyššie uvedených podmienok (nespĺňali by podmienky, pretože
prijímajú variabilný počet argumentov). Sú dostupné vždy a vždy
posielajú svoj výpis prostredníctvom sveta (t. j. na vnútornú
konzolu stropu). No ich správanie je mierne pozmenené.
Reťazcový argument je vždy vypísaný ako prvý a po ňom nasledujú
ďalšie argumenty (jeden až štyri číselné alebo farba).
V prípade potreby je možné želaný výsledok dosiahnuť viacnásobným
zadaním príkazu vypíš
a vypíš riadok
.
Ak sa riadok skriptu začína znakom @
, tak je neprázdny
zvyšok riadka považovaný za názov interaktívnej inštancie. Ak je
zvyšok riadka prázdny, tak je interaktívna inštancia zrušená.
Niekoľko ďalších príkazov bolo transformovaných tak, aby lepšie zapadali do fungovania interaktívneho režimu, napríklad: zadaj číslo, uprav číslo, náhodné číslo, zadaj reťazec…
Príklady príkazov (ktoré vzájomne nadväzujú):
nech dĺžka = uprav číslo 100, "Zadaj stranu
skoč -20, -50
začni cestu
dopredu dĺžka
vpravo 45
farba červená
dopredu dĺžka
zdvihni pero
predvolený dutý tvar
veľkosť 30
hrúbka čiary 3.2
nech dĺžka ~
nech dĺžka * 2
choď 0, dĺžka
farba žltá
skoč na 0, 0
vyplň cestu
nech dĺžka ~
nech dĺžka / 2
vypíš riadok dĺžka, "Toto je výsledok kreslenia s dĺžkou:
farba čierna
Po potvrdení predvolenej stovky bude výsledok takýto:
Výsledok vykonania príkazov
zapni
– ak je true
, režim bude pre svet
zapnutý, inak bude vypnutýGRobot.interaktívnyRežim(boolean)
,
GRobot.Plátno.interaktívnyRežim(boolean)
,
GRobot.vykonajPríkaz(String)
,
vykonajPríkaz(String)
,
GRobot.Plátno.vykonajPríkaz(String)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(String, boolean)
,
interaktívnaInštancia()
,
zrušInteraktívnuInštanciu()
,
režimLadenia(boolean)
,
GRobot.ObsluhaUdalostí.ladenie(int, String, int)
,
kódPoslednejChyby()
,
textPoslednejChyby()
public static void interaktivnyRezim(boolean zapni)
interaktívnyRežim
.public static boolean interaktívnyRežim()
Svet.interaktívnyRežim(zapni)
.public static boolean interaktivnyRezim()
interaktívnyRežim
.public static void interaktívnaInštancia(String inštancia)
@
«názov inštancie» (nastavenie inštancie) a @
(zrušenie inštancie). Rovnaký príkaz je použiteľný aj v príkazovom
riadku interaktívneho
režimu a táto metóda poskytuje nástroj na nastavenie aktívnej
inštancie programátorom.
Medzi predvolené názvy inštancií patria: svet
,
podlaha
, strop
a robot
. Ďalšou inštanciou
môže byť ľubovoľný pomenovaný
robot. Na zrušenie aktívnej inštancie treba zadať namiesto
parametra inštancia
null
alebo zavolať metódu
zrušInteraktívnuInštanciu
.
inštancia
– nová aktívna inštancia interaktívneho režimu alebo
null
interaktívnaInštancia()
,
zrušInteraktívnuInštanciu()
,
interaktívnyRežim(boolean)
,
režimLadenia(boolean)
,
GRobot.ObsluhaUdalostí.ladenie(int, String, int)
public static void interaktivnaInstancia(String inštancia)
interaktívnaInštancia
.public static String interaktívnaInštancia()
null
interaktívnaInštancia(String)
public static String interaktivnaInstancia()
interaktívnaInštancia
.public static void zrušInteraktívnuInštanciu()
interaktívnaInštancia(String)
public static void zrusInteraktivnuInstanciu()
zrušInteraktívnuInštanciu
.public static int kódPoslednejChyby()
textPoslednejChyby()
public static int kodPoslednejChyby()
kódPoslednejChyby
.public static String textPoslednejChyby()
kódPoslednejChyby()
public static Object poslednáNávratováHodnota()
public static Object poslednaNavratovaHodnota()
poslednáNávratováHodnota
.public static boolean zalamujeTexty()
strop.zalamujeTexty()
.true
ak sú texty stropu presahujúce pravý okraj
okna automaticky zalamované; false
v opačnom
prípadepublic static void zalamujTexty(boolean zalamuj)
strop.zalamujTexty(zalamuj)
.zalamuj
– true
ak chceme, aby boli texty stropu
presahujúce pravý okraj okna automaticky zalomené; false
v opačnom prípadepublic static void zalamujTexty()
strop.zalamujTexty()
.public static void nezalamujTexty()
strop.nezalamujTexty()
.public static void vypíšAktívneSlovo(String identifikátor, Object... argumenty)
strop.vypíšAktívneSlovo(String, Object...)
.
identifikátor
– identifikátor aktívneho slova, pomocou
ktorého bude toto slovo odlišované od ostatných aktívnych slovargumenty
– zoznam argumentov rôzneho údajového typu
oddelený čiarkamipublic static void vypisAktivneSlovo(String identifikátor, Object... argumenty)
vypíšAktívneSlovo
.public static void vypíšAktívneSlová(String identifikátor, Object... argumenty)
vypíšAktívneSlovo
.public static void vypisAktivneSlova(String identifikátor, Object... argumenty)
vypíšAktívneSlovo
.public static String bodVAktívnomSlove(double x, double y)
strop.bodVAktívnomSlove(double, double)
.
x
– x-ová súradnica vyšetrovaného boduy
– y-ová súradnica vyšetrovaného bodunull
public static String bodVAktivnomSlove(double x, double y)
bodVAktívnomSlove
.public static String bodVAktívnomSlove(Poloha poloha)
bodVAktívnomSlove
, ale namiesto súradníc bodu je zadaný
objekt, ktorý je implementáciou rozhrania Poloha
.
poloha
– poloha vyšetrovaného bodu zadaná prostredníctvom
objektu implementujúceho rozhranie Poloha
.null
public static String bodVAktivnomSlove(Poloha poloha)
bodVAktívnomSlove
.public static String myšVAktívnomSlove()
strop.myšVAktívnomSlove()
.
null
public static String mysVAktivnomSlove()
myšVAktívnomSlove
.public static void vypíš(Object... argumenty)
strop.vypíš(Object...)
.argumenty
– zoznam argumentov rôzneho údajového typu
oddelený čiarkamipublic static void vypíšRiadok(Object... argumenty)
strop.vypíšRiadok(Object...)
.argumenty
– zoznam argumentov rôzneho údajového typu
oddelený čiarkamipublic static void vypisRiadok(Object... argumenty)
vypíšRiadok
.public static void vypíšNa(double x, double y, Object... argumenty)
strop.vypíšNa(double, double, Object...)
.argumenty
– zoznam argumentov rôzneho údajového typu oddelený
čiarkamipublic static void vypíšRiadokNa(double x, double y, Object... argumenty)
strop.vypíšRiadokNa(double, double, Object...)
.argumenty
– zoznam argumentov rôzneho údajového typu oddelený
čiarkamipublic static void vypisRiadokNa(double x, double y, Object... argumenty)
vypíšRiadokNa
.public static void píšNa(double x, double y, Object... argumenty)
strop.píšNa(double, double, Object...)
.argumenty
– zoznam argumentov rôzneho údajového typu oddelený
čiarkamipublic static void píšRiadokNa(double x, double y, Object... argumenty)
strop.píšRiadokNa(double, double, Object...)
.argumenty
– zoznam argumentov rôzneho údajového typu oddelený
čiarkamipublic static void pisRiadokNa(double x, double y, Object... argumenty)
píšRiadokNa
.public static long náhodnéCeléČíslo()
public static long nahodneCeleCislo()
náhodnéCeléČíslo
.public static long náhodnéCeléČíslo(long hodnota)
hodnota
– druhá hranica generovania náhodných číselpublic static long nahodneCeleCislo(long hodnota)
náhodnéCeléČíslo
.public static long náhodnéCeléČíslo(long min, long max)
min
– spodná hranica generovania náhodných číselmax
– horná hranica generovania náhodných číselpublic static long nahodneCeleCislo(long min, long max)
náhodnéCeléČíslo
.public static double náhodnéReálneČíslo()
public static double nahodneRealneCislo()
náhodnéReálneČíslo
.public static double náhodnéReálneČíslo(double hodnota)
hodnota
– horná hranica generovania náhodných číselpublic static double nahodneRealneCislo(double hodnota)
náhodnéReálneČíslo
.public static double náhodnéReálneČíslo(double min, double max)
min
– spodná hranica generovania náhodných číselmax
– horná hranica generovania náhodných číselpublic static double nahodneRealneCislo(double min, double max)
náhodnéReálneČíslo
.public static boolean textyDoSchránky()
true
ak bola operácia úspešnáGRobot.Schránka.text(String)
public static boolean textyDoSchranky()
textyDoSchránky
.public static boolean textDoSchránky()
textyDoSchránky
.public static boolean textDoSchranky()
textyDoSchránky
.public static boolean obrázokDoSchránky()
Upozornenie: Obrázok je uchovaný v schránke len počas činnosti aplikácie robota. Po zatvorení okna sveta, je obrázok zo schránky odstránený.
true
ak bola operácia úspešnáGRobot.Schránka.obrázok(Image)
public static boolean obrazokDoSchranky()
obrázokDoSchránky
.public static boolean grafikaDoSchránky()
obrázokDoSchránky
.public static boolean grafikaDoSchranky()
obrázokDoSchránky
.public static int šírkaObrázka(String súbor)
súbor
– názov súboru s obrázkomRuntimeException
– ak obrázok nebol nájdenýpriečinokObrázkov(String)
public static int sirkaObrazka(String súbor)
šírkaObrázka
.public static int výškaObrázka(String súbor)
súbor
– názov súboru s obrázkomRuntimeException
– ak obrázok nebol nájdenýpriečinokObrázkov(String)
public static int vyskaObrazka(String súbor)
výškaObrázka
.public static void priečinokObrázkov(String priečinok)
null
používanie
priečinka zrušíme.priečinok
– názov priečinka, relatívna cesta, prípadne
prázdny reťazec alebo null
priečinokObrázkov()
,
GRobot.obrázok(String)
,
GRobot.obrázok(String, double)
,
GRobot.obrázok(String, double, double)
,
GRobot.obrázok(String, double, double, double)
,
GRobot.obrázok(String, int)
,
GRobot.obrázok(String, int, double)
,
GRobot.obrázok(String, int, double, double)
,
GRobot.obrázok(String, int, double, double, double)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vlastnýTvar(String)
,
GRobot.vlastnýTvar(String, boolean)
,
obrázok(String)
,
vyplň(String)
,
ikona(String)
,
zobrazUvodnuObrazovku(String)
,
šírkaObrázka(String)
,
výškaObrázka(String)
,
načítajObrázky(Object[])
,
načítajObrázky(String[])
,
načítajObrázok(String)
,
GRobot.Plátno.obrázok(String)
,
GRobot.Plátno.obrázok(double, double, String)
,
GRobot.Plátno.obrázok(Poloha, String)
,
GRobot.Plátno.vyplň(String)
,
GRobot.Obrázok.načítaj(String)
,
GRobot.Obrázok.vyplň(Shape, String)
,
GRobot.Obrázok.kresli(String)
,
GRobot.Obrázok.kresli(double, double, String)
,
GRobot.Obrázok.kresli(Poloha, String)
,
GRobot.Obrázok.vyplň(String)
,
GRobot.Oblasť.vyplň(String)
,
GRobot.Oblasť.vyplň(GRobot, String)
,
GRobot.PoložkaPonuky.ikona(String)
,
GRobot.KontextováPoložka.ikona(String)
public static void priecinokObrazkov(String priečinok)
priečinokObrázkov
.public static String priečinokObrázkov()
java.io.File.separatorChar
(/
alebo
\
– záleží na type operačného systému), ktorý automaticky
pridáva metóda priečinokObrázkov(priečinok)
. Taktiež všetky oddeľovacie znaky
priečinkov v relatívnej ceste sú nahradené podľa typu operačného
systému.priečinokObrázkov(String)
,
GRobot.obrázok(String)
,
GRobot.obrázok(String, double)
,
GRobot.obrázok(String, double, double)
,
GRobot.obrázok(String, double, double, double)
,
GRobot.obrázok(String, int)
,
GRobot.obrázok(String, int, double)
,
GRobot.obrázok(String, int, double, double)
,
GRobot.obrázok(String, int, double, double, double)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vlastnýTvar(String)
,
GRobot.vlastnýTvar(String, boolean)
,
obrázok(String)
,
vyplň(String)
,
ikona(String)
,
zobrazUvodnuObrazovku(String)
,
šírkaObrázka(String)
,
výškaObrázka(String)
,
načítajObrázky(Object[])
,
načítajObrázky(String[])
,
načítajObrázok(String)
,
GRobot.Plátno.obrázok(String)
,
GRobot.Plátno.obrázok(double, double, String)
,
GRobot.Plátno.obrázok(Poloha, String)
,
GRobot.Plátno.vyplň(String)
,
GRobot.Obrázok.načítaj(String)
,
GRobot.Obrázok.vyplň(Shape, String)
,
GRobot.Obrázok.kresli(String)
,
GRobot.Obrázok.kresli(double, double, String)
,
GRobot.Obrázok.kresli(Poloha, String)
,
GRobot.Obrázok.vyplň(String)
,
GRobot.Oblasť.vyplň(String)
,
GRobot.Oblasť.vyplň(GRobot, String)
,
GRobot.PoložkaPonuky.ikona(String)
,
GRobot.KontextováPoložka.ikona(String)
public static String priecinokObrazkov()
priečinokObrázkov
.public static void načítajObrázky(Object... súbory)
súbory
– ľubovoľný počet reťazcov označujúcich súboryRuntimeException
– ak niektorý súbor nebol nájdenýpriečinokObrázkov(String)
public static void nacitajObrazky(Object... súbory)
načítajObrázky
.public static void načítajObrázky(String[] súbory)
súbory
– pole reťazcov označujúcich súboryRuntimeException
– ak niektorý súbor nebol nájdenýpriečinokObrázkov(String)
public static void nacitajObrazky(String[] súbory)
načítajObrázky
.public static Image načítajObrázok(String súbor)
Image
. Obrázok nie je zobrazený.
Podobnú úlohu plní metóda Svet.načítajObrázky(Object... súbory)
, ale pomocou nej nie je
možné získať objekt typu Image
na ďalšie
spracovanie.súbor
– názov súboru s obrázkomImage
RuntimeException
– ak obrázok nebol nájdenýGRobot.Obrázok.načítaj(String)
,
priečinokObrázkov(String)
public static Image nacitajObrazok(String súbor)
načítajObrázok
.public static void obrázok(String súbor)
podlaha.obrázok(String)
. Napríklad:
Svet
.obrázok
("obrázok.png"
);
súbor
– názov súboru s obrázkom, ktorý má byť vykreslenýpriečinokObrázkov(String)
public static void obrázok(double x, double y, String súbor)
podlaha.obrázok(x, y, súbor)
.x
– x-ová súradnica polohy obrázkay
– y-ová súradnica polohy obrázkasúbor
– názov súboru s obrázkom, ktorý má byť vykreslenýpriečinokObrázkov(String)
public static void obrázok(Poloha objekt, String súbor)
podlaha.obrázok(objekt, súbor)
.objekt
– objekt určujúci polohu kreslenia obrázkasúbor
– názov súboru s obrázkom, ktorý má byť vykreslenýpriečinokObrázkov(String)
public static void obrázok(Image obrázok)
podlaha.obrázok(obrázok)
.obrázok
– obrázok, ktorý má byť vykreslenýpublic static void obrázok(double x, double y, Image obrázok)
podlaha.obrázok(x, y, obrázok)
.x
– x-ová súradnica polohy obrázkay
– y-ová súradnica polohy obrázkaobrázok
– obrázok, ktorý má byť vykreslenýpublic static void obrázok(Poloha objekt, Image obrázok)
podlaha.obrázok(objekt, obrázok)
.objekt
– objekt určujúci polohu kreslenia obrázkaobrázok
– obrázok, ktorý má byť vykreslenýpublic static void uložObrázok(String súbor)
.png
alebo .jpg
. Ak súbor jestvuje
vznikne výnimka oznamujúca, že súbor so zadaným menom už jestvuje.
Ak chcete súbor prepísať, použite metódu uložObrázok(String, boolean)
s druhým parametrom rovným true
.súbor
– názov súboru s požadovanou príponouRuntimeException
– ak súbor jestvuje alebo nebol zadaný
názov súboru s platnou príponoupublic static void ulozObrazok(String súbor)
uložObrázok
.public static void uložObrázok(String súbor, boolean prepísať)
.png
alebo .jpg
.súbor
– názov súboru s požadovanou príponouprepísať
– ak je true
, prípadný jestvujúci
súbor bude prepísaný, inak sa správa rovnako ako metóda
uložObrázok(String)
RuntimeException
– ak súbor jestvuje a parameter prepísať
je false
alebo ak bol zadaný názov súboru
s neplatnou príponoupublic static void ulozObrazok(String súbor, boolean prepísať)
uložObrázok
.public static GRobot.Farba farbaTextu()
strop.farbaTextu()
.Farba
)public static void farbaTextu(Color nováFarba)
strop.farbaTextu(java.awt.Color)
.nováFarba
– objekt určujúci novú farbu perapublic static void farbaTextu(Farebnosť objekt)
strop.farbaTextu(java.awt.Color)
.objekt
– objekt určujúci novú farbu perapublic static GRobot.Farba farbaTextu(int r, int g, int b)
strop.farbaTextu(int, int, int)
.r
– červená zložka novej farby; celé číslo v rozsahu 0 – 255g
– zelená zložka novej farby; celé číslo v rozsahu 0 – 255b
– modrá zložka novej farby; celé číslo v rozsahu 0 – 255Farba
– nová farba perapublic static GRobot.Farba farbaTextu(int r, int g, int b, int a)
strop.farbaTextu(int, int, int, int)
.r
– červená zložka novej farby; celé číslo v rozsahu 0 – 255g
– zelená zložka novej farby; celé číslo v rozsahu 0 – 255b
– modrá zložka novej farby; celé číslo v rozsahu 0 – 255a
– úroveň (ne)priehľadnosti novej farby; celé číslo v rozsahu
0 – 255 (0 – neviditeľná farba; 255 – nepriehľadná farba)Farba
– nová farba perapublic static void predvolenáFarbaTextu()
strop.predvolenáFarbaTextu()
.public static void predvolenaFarbaTextu()
predvolenáFarbaTextu
.public static GRobot.Farba farbaPozadiaTextu()
strop.farbaPozadiaTextu()
.Farba
)public static void farbaPozadiaTextu(Color nováFarba)
strop.farbaPozadiaTextu(java.awt.Color)
.nováFarba
– objekt určujúci novú farbu pozadia textovpublic static void farbaPozadiaTextu(Farebnosť objekt)
strop.farbaPozadiaTextu(java.awt.Color)
.objekt
– objekt určujúci novú farbu pozadia textovpublic static GRobot.Farba farbaPozadiaTextu(int r, int g, int b)
strop.farbaPozadiaTextu(int, int, int)
.r
– červená zložka novej farby; celé číslo v rozsahu 0 – 255g
– zelená zložka novej farby; celé číslo v rozsahu 0 – 255b
– modrá zložka novej farby; celé číslo v rozsahu 0 – 255Farba
– nová farba pozadia textovpublic static GRobot.Farba farbaPozadiaTextu(int r, int g, int b, int a)
strop.farbaPozadiaTextu(int, int, int, int)
.r
– červená zložka novej farby; celé číslo v rozsahu 0 – 255g
– zelená zložka novej farby; celé číslo v rozsahu 0 – 255b
– modrá zložka novej farby; celé číslo v rozsahu 0 – 255a
– úroveň (ne)priehľadnosti novej farby; celé číslo v rozsahu
0 – 255 (0 – neviditeľná farba; 255 – nepriehľadná farba)Farba
– nová farba pozadia textovpublic static void predvolenáFarbaPozadiaTextu()
null
.) Volanie tejto metódy má rovnaký efekt
ako keby sme volali metódu
strop.predvolenáFarbaPozadiaTextu()
.public static void predvolenaFarbaPozadiaTextu()
predvolenáFarbaPozadiaTextu
.public static GRobot.Farba farbaPozadia()
vymaž
, vyplň
).Farba
)public static void farbaPozadia(Color nováFarba)
vymaž
, vyplň
).
Poznámka: Farbu pozadia môže prekryť výplň plátna, ale keď je obsah plátien prázdny (vymazaný), je svet kresliacich robotov vyplnený farbou pozadia.
nováFarba
– objekt určujúci novú farbu pozadia;
jestvuje paleta predvolených farieb (pozri: Farebnosť.biela
, Farebnosť.červená
, Farebnosť.čierna
…)vymaž()
public static void farbaPozadia(Farebnosť objekt)
vymaž
, vyplň
).
Poznámka: Farbu pozadia môže prekryť výplň plátna, ale keď je obsah plátien prázdny (vymazaný), je svet kresliacich robotov vyplnený farbou pozadia.
objekt
– objekt určujúci novú farbu pozadiavymaž()
public static GRobot.Farba farbaPozadia(int r, int g, int b)
vymaž
, vyplň
).r
– červená zložka novej farby; celé číslo v rozsahu 0 – 255g
– zelená zložka novej farby; celé číslo v rozsahu 0 – 255b
– modrá zložka novej farby; celé číslo v rozsahu 0 – 255Farba
– nová farba pozadiafarbaPozadia(java.awt.Color)
public static GRobot.Farba farbaPozadia(int r, int g, int b, int a)
vymaž
, vyplň
).r
– červená zložka novej farby; celé číslo v rozsahu 0 – 255g
– zelená zložka novej farby; celé číslo v rozsahu 0 – 255b
– modrá zložka novej farby; celé číslo v rozsahu 0 – 255a
– úroveň (ne)priehľadnosti novej farby; celé číslo
v rozsahu 0 – 255 (0 – neviditeľná farba; 255 – nepriehľadná
farba)Farba
– nová farba pozadiafarbaPozadia(java.awt.Color)
public static void predvolenáFarbaPozadia()
public static void predvolenaFarbaPozadia()
predvolenáFarbaPozadia
.public static GRobot.Farba farbaBodu(double x, double y)
žiadna
. So získanou
farbou môžeme ďalej pracovať – napríklad ju upravovať alebo
zisťovať jej vlastnosti (farebné zložky…). Testovať, či má bod
konkrétnu farbu, môžeme napríklad pomocou metódy
farbaBodu(x, y, farba)
.
public static GRobot.Farba farbaBodu(Poloha objekt)
žiadna
farba. So získanou farbou
môžeme ďalej pracovať – napríklad ju upravovať alebo zisťovať jej
vlastnosti (farebné zložky…). Testovať, či má bod konkrétnu farbu,
môžeme napríklad pomocou metódy
farbaBodu(objekt, farba)
.
public static boolean farbaBodu(double x, double y, Color farba)
false
. Testovať farbu pomocou
tejto metódy môžeme napríklad takto:
if
(Svet
.farbaBodu
(3.0
,5.0
,modrá
)) …
x
– x-ová súradnica vyšetrovaného boduy
– y-ová súradnica vyšetrovaného bodufarba
– farba, ktorú chceme porovnať s farbou bodu na zadanej
pozíciitrue
ak sú zadané súradnice v rámci rozmerov
sveta a farba bodu na zadaných súradniciach sa zhoduje so
zadanou farbou (musia sa zhodovať všetky farebné zložky aj
úroveň priehľadnosti), inak false
public static boolean farbaBodu(Poloha objekt, Color farba)
false
. Testovať
farbu pomocou tejto metódy môžeme napríklad takto:
if
(Svet
.farbaBodu
(this
,modrá
)) …
objekt
– objekt, na ktorého pozícii chceme overiť farbu bodufarba
– farba, ktorú chceme porovnať s farbou bodu na pozícii
určeného objektutrue
ak sa súradnice objektu nachádzajú v rámci
rozmerov sveta a farba bodu na jeho mieste sa zhoduje so
zadanou farbou (musia sa zhodovať všetky farebné zložky aj
úroveň priehľadnosti), inak false
public static boolean farbaBodu(double x, double y, Farebnosť objekt)
false
.x
– x-ová súradnica vyšetrovaného boduy
– y-ová súradnica vyšetrovaného boduobjekt
– objekt, ktorého farbu chceme porovnať s farbou bodu
na zadanej pozíciitrue
ak sú zadané súradnice v rámci rozmerov
sveta a farba bodu na zadaných súradniciach sa zhoduje
s farbou zadaného objektu (musia sa zhodovať všetky farebné
zložky aj úroveň priehľadnosti), inak false
public static boolean farbaBodu(Poloha objekt, Farebnosť farebnosť)
false
.objekt
– objekt, na ktorého pozícii chceme overiť farbu bodufarebnosť
– objekt, ktorého farbu chceme porovnať s farbou
bodu na pozícii predchádzajúceho objektutrue
ak sa súradnice objektu nachádzajú v rámci
rozmerov sveta a farba bodu na jeho mieste sa zhoduje s farbou
druhého zadaného objektu (musia sa zhodovať všetky farebné
zložky aj úroveň priehľadnosti), inak false
public static boolean farbaBodu(double x, double y, int r, int g, int b)
255
,
čiže na úplne nepriehľadnú farbu.)
x
– x-ová súradnica vyšetrovaného boduy
– y-ová súradnica vyšetrovaného bodur
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na zadanej pozíciig
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na zadanej pozíciib
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na zadanej pozíciitrue
ak sú zadané súradnice v rámci rozmerov
sveta a farba bodu na zadaných súradniciach sa zhoduje
so zadanou farbou (musia sa zhodovať všetky farebné zložky aj
úroveň priehľadnosti), inak false
public static boolean farbaBodu(double x, double y, int r, int g, int b, int a)
x
– x-ová súradnica vyšetrovaného boduy
– y-ová súradnica vyšetrovaného bodur
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na zadanej pozíciig
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na zadanej pozíciib
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na zadanej pozíciia
– úroveň priehľadnosti farby, ktorú chceme porovnať
s farbou bodu na zadanej pozíciitrue
ak sú zadané súradnice v rámci rozmerov
sveta a farba bodu na zadaných súradniciach sa zhoduje
so zadanou farbou (musia sa zhodovať všetky farebné zložky aj
úroveň priehľadnosti), inak false
public static boolean farbaBodu(Poloha objekt, int r, int g, int b)
255
,
čiže na úplne nepriehľadnú farbu.)
objekt
– objekt, ktorého poloha určuje súradnice vyšetrovaného
bodur
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na pozícii objektug
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na pozícii objektub
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na pozícii objektutrue
ak je poloha objektu v rámci rozmerov
sveta a farba bodu na jeho súradniciach sa zhoduje so
zadanou farbou (musia sa zhodovať všetky farebné zložky aj
úroveň priehľadnosti), inak false
public static boolean farbaBodu(Poloha objekt, int r, int g, int b, int a)
objekt
– objekt, ktorého poloha určuje súradnice vyšetrovaného
bodur
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na pozícii objektug
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na pozícii objektub
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na pozícii objektua
– úroveň priehľadnosti farby, ktorú chceme porovnať
s farbou bodu na pozícii objektutrue
ak je poloha objektu v rámci rozmerov
sveta a farba bodu na jeho súradniciach sa zhoduje so
zadanou farbou (musia sa zhodovať všetky farebné zložky aj
úroveň priehľadnosti), inak false
public static GRobot.Farba farbaNaMyši()
farbaNaMyši(farba)
.
(Poznámka: Ak by súradnice myši boli náhodou mimo
plochy sveta, metóda by vrátila inštanciu farby žiadna
.)
Príklad:
Tento príklad demonštruje fungovanie metódy farbaNaMyši
. Zistenú farbu zobrazí v elegantnom
indikátore umiestnenom v ľavom hornom rohu (pozri
zoznam zmien: poďakovanie
uvedené pri verzii 1.35):
// Zaplňme kresbu množstvom farebných štvorcov
Svet
.nekresli
();for
(int
j =0
; j <1000
; ++j) {double
rozmer =Svet
.náhodnéReálneČíslo
(20
,30
);farba
((int
)Svet
.náhodnéCeléČíslo
(0
,255
), (int
)Svet
.náhodnéCeléČíslo
(0
,255
), (int
)Svet
.náhodnéCeléČíslo
(0
,255
));náhodnáPoloha
();náhodnýSmer
();vyplňŠtvorec
(rozmer); }Svet
.kresli
();// Definujme všetko potrebné (obsluhu udalostí, vlastný tvar) na to,
// aby robot počas pohybu myšou nad plátnom v elegantnom kruhovom
// indikátore ukazoval aktuálnu farbu nad kurzorom myši…
skočNa
(Svet
.ľavýOkraj
() +35
,Svet
.hornýOkraj
() –35
);new
ObsluhaUdalostí
() {@
Overridepublic
void
pohybMyši
() {farba
(Svet
.farbaNaMyši
()); } };vlastnýTvar
(new
VlastnýTvar
() {@
Overridepublic
void
kresli
(GRobot
r) {Farba
mojaFarba = r.farba
();farba
(čierna
);kruh
(30
);farba
(biela
);kruh
(25
);farba
(mojaFarba);kruh
(20
); } });
Farba
) na pozícii
myšipublic static GRobot.Farba farbaNaMysi()
farbaNaMyši
.public static boolean farbaNaMyši(Color farba)
if
(Svet
.farbaNaMyši
(modrá
)) …
(Poznámka: Ak by súradnice myši boli náhodou mimo
plochy sveta, metóda by vrátila hodnotu false
.)
farba
– farba, ktorú chceme porovnať s farbou bodu na
súradniciach myšitrue
ak je farba bodu na súradniciach myši
zhodná so zadanou farbou (musia sa zhodovať všetky farebné
zložky aj úroveň priehľadnosti), inak false
public static boolean farbaNaMysi(Color farba)
farbaNaMyši
.public static boolean farbaNaMyši(Farebnosť objekt)
if
(Svet
.farbaNaMyši
(modrá
)) …
(Poznámka: Ak by súradnice myši boli náhodou mimo
plochy sveta, metóda by vrátila hodnotu false
.)
objekt
– objekt, ktorého farbu chceme porovnať s farbou bodu
na súradniciach myšitrue
ak je farba bodu na súradniciach myši
zhodná so zadanou farbou (musia sa zhodovať všetky
farebné zložky aj úroveň priehľadnosti), inak false
public static boolean farbaNaMysi(Farebnosť objekt)
farbaNaMyši
.public static boolean farbaNaMyši(int r, int g, int b)
255
,
čiže na úplne nepriehľadnú farbu.)
(Poznámka: Ak by súradnice myši boli náhodou
mimo aktívneho kresliaceho plátna robota, metóda by vrátila
hodnotu false
.)
r
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na súradniciach myšig
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na súradniciach myšib
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na súradniciach myšitrue
ak je farba bodu na súradniciach myši
zhodná so zadanou farbou (musia sa zhodovať všetky tri
farebné zložky aj úroveň priehľadnosti), inak false
public static boolean farbaNaMysi(int r, int g, int b)
farbaNaMyši
.public static boolean farbaNaMyši(int r, int g, int b, int a)
(Poznámka: Ak by súradnice myši boli náhodou mimo
plochy sveta, metóda by vrátila hodnotu false
.)
r
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na súradniciach myšig
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na súradniciach myšib
– červená zložka farby, ktorú chceme porovnať s farbou
bodu na súradniciach myšia
– úroveň priehľadnosti farby, ktorú chceme porovnať
s farbou bodu na súradniciach myšitrue
ak je farba bodu na súradniciach myši
zhodná so zadanou farbou (musia sa zhodovať všetky tri
farebné zložky aj úroveň priehľadnosti), inak false
public static boolean farbaNaMysi(int r, int g, int b, int a)
farbaNaMyši
.public static GRobot.Písmo písmo()
strop.písmo()
.public static GRobot.Pismo pismo()
písmo
.public static void písmo(Font novéPísmo)
strop.písmo(Font)
. Písmo používajú metódy vypíš
a vypíšRiadok
.novéPísmo
– objekt typu GRobot.Písmo
alebo Font
určujúci nový typ písmapublic static GRobot.Písmo písmo(String názov, int veľkosť)
strop.písmo(String, int)
.názov
– názov písma; môže byť všeobecný názov logického písma
(Dialog, DialogInput, Monospaced, Serif, SansSerif…) alebo
názov konkrétneho písma (Times New Roman, Arial…)veľkosť
– veľkosť písma v bodochGRobot.Písmo
určujúci nový typ písmapublic static GRobot.Pismo pismo(String názov, int veľkosť)
písmo
.public static void predvolenéPísmo()
strop.predvolenéPísmo()
.public static void predvolenePismo()
predvolenéPísmo
.public static void priečinokZvukov(String priečinok)
null
používanie
priečinka zrušíme.priečinok
– názov priečinka, relatívna cesta, prípadne
prázdny reťazec alebo null
priečinokZvukov()
,
načítajZvuky(Object[])
,
načítajZvuky(String[])
,
načítajZvuk(String)
,
zvuk(String)
,
zvukNaPozadí(String)
,
zastavZvuky(Object[])
,
hlasitosťPreZvuky(double, Object[])
,
váhaPreZvuky(double, Object[])
,
zastavZvuky(String[])
,
hlasitosťPreZvuky(double, String[])
,
váhaPreZvuky(double, String[])
,
GRobot.Zvuk
public static void priecinokZvukov(String priečinok)
priečinokZvukov
.public static String priečinokZvukov()
java.io.File.separatorChar
(/
alebo
\
– záleží na type operačného systému), ktorý automaticky
pridáva metóda priečinokZvukov(priečinok)
. Taktiež všetky oddeľovacie znaky
priečinkov v relatívnej ceste sú nahradené podľa typu operačného
systému.priečinokZvukov(String)
,
načítajZvuky(Object[])
,
načítajZvuky(String[])
,
načítajZvuk(String)
,
zvuk(String)
,
zvukNaPozadí(String)
,
zastavZvuky(Object[])
,
hlasitosťPreZvuky(double, Object[])
,
váhaPreZvuky(double, Object[])
,
zastavZvuky(String[])
,
hlasitosťPreZvuky(double, String[])
,
váhaPreZvuky(double, String[])
,
GRobot.Zvuk
public static String priecinokZvukov()
priečinokZvukov
.public static void načítajZvuky(Object... súbory)
súbory
– ľubovoľný počet reťazcov označujúcich súboryRuntimeException
– ak niektorý súbor nebol nájdenýpriečinokZvukov(String)
,
načítajZvuky(String[])
,
načítajZvuk(String)
,
zvuk(String)
,
zvukNaPozadí(String)
,
GRobot.Zvuk
public static void nacitajZvuky(Object... súbory)
načítajZvuky
.public static void načítajZvuky(String[] súbory)
súbory
– pole reťazcov označujúcich súboryRuntimeException
– ak niektorý súbor nebol nájdenýpriečinokZvukov(String)
,
načítajZvuky(Object[])
,
načítajZvuk(String)
,
zvuk(String)
,
zvukNaPozadí(String)
,
GRobot.Zvuk
public static void nacitajZvuky(String[] súbory)
načítajZvuky
.public static GRobot.Zvuk načítajZvuk(String súbor)
GRobot.Zvuk
. Zvuk nie je prehraný. Podobnú úlohu
plní metóda Svet.načítajZvuky(Object... súbory)
(pozri pre viac informácií),
ale pomocou nej nie je možné získať objekt typu GRobot.Zvuk
na
prípadné ďalšie spracovanie.súbor
– názov súboru so zvukomGRobot.Zvuk
RuntimeException
– ak súbor nebol nájdenýpriečinokZvukov(String)
,
načítajZvuky(Object[])
,
načítajZvuky(String[])
,
zvuk(String)
,
zvukNaPozadí(String)
,
GRobot.Zvuk
public static GRobot.Zvuk nacitajZvuk(String súbor)
načítajZvuk
.public static void zvuk(String súbor)
súbor
– názov zvukového súboru, ktorý má byť prehranýRuntimeException
– ak súbor nebol nájdenýpriečinokZvukov(String)
,
zvukNaPozadí(String)
,
GRobot.Zvuk
public static void zvukNaPozadí(String súbor)
.wav
alebo .au
). Ak chceme prehrávanie zvuku
zastaviť, zadáme do argumentu metódy null
.súbor
– názov zvukového súboru, ktorý má byť prehrávaný,
alebo null
na zastavenie prehrávaniaRuntimeException
– ak súbor nebol nájdenýpriečinokZvukov(String)
,
zvuk(String)
,
GRobot.Zvuk
public static void zvukNaPozadi(String súbor)
zvukNaPozadí
.public static boolean hráZvukNaPozadí()
zvukNaPozadí
.true
– áno; false
– niepublic static boolean hraZvukNaPozadi()
hráZvukNaPozadí
.public static void zastavZvuky(Object... súbory)
súbory
– ľubovoľný počet reťazcov označujúcich súborypriečinokZvukov(String)
,
zastavZvuky(String[])
,
GRobot.Zvuk
public static void hlasitosťPreZvuky(double miera, Object... súbory)
miera
– miera hlasitosti v percentách – 0% zodpovedá hodnote
0.0
, 100% hodnote 1.0
súbory
– ľubovoľný počet reťazcov označujúcich súboryGRobot.Zvuk.hlasitosť(double)
,
priečinokZvukov(String)
,
hlasitosťPreZvuky(double, String[])
,
GRobot.Zvuk
public static void hlasitostPreZvuky(double miera, Object... súbory)
hlasitosťPreZvuky
public static void váhaPreZvuky(double miera, Object... súbory)
miera
– miera stereo vyváženia – reálne číslo od
-
1.0
(ľavý kanál) po +
1.0
(pravý kanál)súbory
– ľubovoľný počet reťazcov označujúcich súboryGRobot.Zvuk.váha(double)
,
priečinokZvukov(String)
,
váhaPreZvuky(double, String[])
,
GRobot.Zvuk
public static void vahaPreZvuky(double miera, Object... súbory)
váhaPreZvuky
public static void zastavZvuky(String[] súbory)
súbory
– pole reťazcov označujúcich súborypriečinokZvukov(String)
,
zastavZvuky(Object[])
,
GRobot.Zvuk
public static void hlasitosťPreZvuky(double miera, String[] súbory)
miera
– miera hlasitosti v percentách – 0% zodpovedá hodnote
0.0
, 100% hodnote 1.0
súbory
– pole reťazcov označujúcich súboryGRobot.Zvuk.hlasitosť(double)
,
priečinokZvukov(String)
,
hlasitosťPreZvuky(double, Object[])
,
GRobot.Zvuk
public static void hlasitostPreZvuky(double miera, String[] súbory)
hlasitosťPreZvuky
public static void váhaPreZvuky(double miera, String[] súbory)
miera
– miera stereo vyváženia – reálne číslo od
-
1.0
(ľavý kanál) po +
1.0
(pravý kanál)súbory
– pole reťazcov označujúcich súboryGRobot.Zvuk.váha(double)
,
priečinokZvukov(String)
,
váhaPreZvuky(double, Object[])
,
GRobot.Zvuk
public static void vahaPreZvuky(double miera, String[] súbory)
váhaPreZvuky
public static void pípni()
public static void pipni()
pípni
.public static void spustiČasovač(double čas)
ObsluhaUdalostí
.tik()
, v ktorej
je možné získať objekt s informáciami o poslednej udalosti
časovača metódou ÚdajeUdalostí
.tik()
. Pri viacnásobnom volaní tejto metódy
je predchádzajúci časovač vždy zastavený. Časovač môže byť spustený
niektorými metódami automaticky. Pozri napríklad: rýchlosť
, uhlováRýchlosť
…čas
– časový interval v sekundách; desatinná časť je
zaokrúhlená na milisekundyspustiČasovač()
,
odložČasovač(double)
,
časovačAktívny()
,
intervalČasovača()
,
zastavČasovač()
public static void spustiCasovac(double čas)
spustiČasovač
.public static void spustiČasovač()
ObsluhaUdalostí
.tik()
, v ktorej je
možné získať objekt s informáciami o poslednej udalosti časovača
metódou ÚdajeUdalostí
.tik()
. Ak časovač nie je v činnosti, je
viacnásobné volanie tejto metódy (na rozdiel od spustiČasovač(čas)
) ignorované. Časovač
môže byť spustený niektorými metódami automaticky. Pozri
napríklad: rýchlosť
, uhlováRýchlosť
…public static void spustiCasovac()
spustiČasovač
.public static void odložČasovač(double čas)
spustiČasovač
, inak iba odloží najbližšie
spustenie časovača o zadaný časový údaj.čas
– časový interval v sekundách; desatinná časť je zaokrúhlená
na milisekundyspustiČasovač(double)
,
časovačAktívny()
,
intervalČasovača()
,
zastavČasovač()
public static void odlozCasovac(double čas)
odložČasovač
.public static boolean časovačAktívny()
true
/false
– podľa toho, či je
časovač aktívny alebo niespustiČasovač(double)
,
spustiČasovač()
,
odložČasovač(double)
,
intervalČasovača()
,
zastavČasovač()
public static boolean casovacAktivny()
časovačAktívny
.public static double intervalČasovača()
spustiČasovač(double)
,
spustiČasovač()
,
odložČasovač(double)
,
časovačAktívny()
,
zastavČasovač()
public static double intervalCasovaca()
intervalČasovača
.public static void zastavČasovač()
spustiČasovač
.public static void zastavCasovac()
zastavČasovač
.public static void čakaj(double početSekúnd)
početSekúnd
– počet sekúnd, na ktorý sa má vykonávanie
programu zastaviťpublic static void cakaj(double početSekúnd)
čakaj
.public static final double lineárnaInterpolácia(double a, double b, double t)
a
a b
a to s pomocou parametra t
. Parameter
t
by mal nadobúdať hodnoty medzi 0.0
a 1.0
. Keď je lineárna interpolácia použitá
napríklad so začiatočnými a koncovými súradnicami bodu
(dva výpočty: jeden pre x1
až x2
a druhý
pre y1
až y2
– s rovnakými hodnotami
parametera t
, ktoré by mali ležať v rozmedzí
hodnôt 0.0
až 1.0
), tak výsledkom
výpočtov lineárnej interpolácie budú body ležiace
na úsečke medzi určenými súradnicami bodov.
Body vypočítané pomocou
lineárnej interpolácie ležiace na nakreslenej úsečke
Príklad:
Nasledujúci príklad nakreslí body ležiace na úsečke vypočítané pomocou lineárnej interpolácie.
final
Bod
[] body =new
Bod
[2
]; body[0
] =new
Bod
(-80
, -80
); body[1
] =new
Bod
(60
,100
);for
(double
t =0.0
; t <=1.0
; t +=0.1
) {double
x =Svet
.lineárnaInterpolácia
( body[0
].polohaX
(), body[1
].polohaX
(), t);double
y =Svet
.lineárnaInterpolácia
( body[0
].polohaY
(), body[1
].polohaY
(), t);skočNa
(x, y);kružnica
(6
); }
a
– prvá hodnota určujúca lineárnu interpoláciub
– druhá hodnota určujúca lineárnu interpoláciut
– parameter interpolácie – mal by ležať v rozmedzí hodnôt
0.0
až 1.0
kubickáInterpolácia(double, double, double, double, double)
public static final double linearnaInterpolacia(double a, double b, double t)
lineárnaInterpolácia
.public static final double kubickáInterpolácia(double v0, double v1, double v2, double v3, double t)
[x0, y0]
až [x3, y3]
).
V takom prípade prvá a posledná dvojica súradníc určujú „smer“
kubickej krivky a prostredné dve určujú počiatočný a koncový
bod krivky. Výsledkom takejto interpolácie sú body ležiace na
kubickej krivke.
Body vypočítané pomocou
kubickej interpolácie zo štyroch označených kľúčových bodov –
vypočítané body ležia na kubickej krivke
Príklad:
Nasledujúci príklad ukazuje interaktívny test kubickej interpolácie (po preložení a spustení príkladu je klikaním a posúvaním bodov možné ovplyvňovať kresbu).
public
class
TestInterpolácieextends
GRobot
{// Aktívny bod (predvolene je to prvý bod – s indexom nula).
private
int
bod =0
;// Definícia štvorice kľúčových bodov.
private
Bod
[] body =new
Bod
[4
]; { body[0
] =new
Bod
(-100
, -70
); body[1
] =new
Bod
(-100
,40
); body[2
] =new
Bod
(100
,40
); body[3
] =new
Bod
(100
, -70
); }// Konštruktor.
private
TestInterpolácie() {zdvihniPero
();skry
();Svet
.nekresli
(); prekresli(); }// Prekresľovanie kresby.
private
void
prekresli() {Svet
.vymaž
();farba
(čierna
);for
(double
t =0.0
; t <=1.0
; t +=0.1
) {double
x =Svet
.kubickáInterpolácia
(body[0
].polohaX
(), body[1
].polohaX
(), body[2
].polohaX
(), body[3
].polohaX
(), t);double
y =Svet
.kubickáInterpolácia
(body[0
].polohaY
(), body[1
].polohaY
(), body[2
].polohaY
(), body[3
].polohaY
(), t);skočNa
(x, y);kružnica
(6
); }farba
(červená
);for
(int
i =0
; i <4
; ++i) {skočNa
(body[i]);kružnica
(3
); }Svet
.prekresli
(); }// Vyhľadanie a aktivácia bodu, na ktorý bolo kliknuté
// (ak nebolo kliknuté na žiadny konkrétny bod, zostane
// aktívny posledný aktivovaný bod).
// Aktívny bod je zároveň presunutý na myš.
@
Overridepublic
void
stlačenieTlačidlaMyši
() {for
(int
i =0
; i <4
; ++i) {skočNa
(body[i]);if
(myšVKruhu
(10
)) bod = i; } body[bod] =ÚdajeUdalostí
.polohaMyši
(); prekresli(); }// Presúvanie aktívneho bodu na súradnice myši.
@
Overridepublic
void
ťahanieMyšou
() { body[bod] =ÚdajeUdalostí
.polohaMyši
(); prekresli(); }// Hlavná metóda.
public
static
void
main(String
[] args) {new
TestInterpolácie(); } }
v0
– prvá hodnota určujúca kubickú interpoláciuv1
– druhá hodnota určujúca kubickú interpoláciuv2
– tretia hodnota určujúca kubickú interpoláciuv3
– štvrtá hodnota určujúca kubickú interpoláciut
– parameter interpolácie – mal by ležať v rozmedzí hodnôt
0.0
až 1.0
lineárnaInterpolácia(double, double, double)
public static final double kubickaInterpolácia(double v0, double v1, double v2, double v3, double t)
kubickáInterpolácia
.public static double rotovanéX(double x, double y, double uhol)
x
– x-ová súradnica pôvodného boduy
– y-ová súradnica pôvodného boduuhol
– uhol pootočeniarotovanéY(double, double, double)
public static double rotovaneX(double x, double y, double uhol)
rotovanéX
.public static double rotovanéY(double x, double y, double uhol)
x
– x-ová súradnica pôvodného boduy
– y-ová súradnica pôvodného boduuhol
– uhol pootočeniarotovanéX(double, double, double)
public static double rotovaneY(double x, double y, double uhol)
rotovanéX
.public static int početZariadení()
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
public static int pocetZariadení()
početZariadení
.public static int šírkaZariadenia()
-
1
znamená chybupočetZariadení()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
public static int sirkaZariadenia()
šírkaZariadenia
.public static int šírkaZariadenia(int zariadenie)
zariadenie
– poradové číslo zariadenia, ktorého šírka má byť
zistená-
1
znamená chybupočetZariadení()
,
šírkaZariadenia()
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
public static int sirkaZariadenia(int zariadenie)
šírkaZariadenia
.public static int výškaZariadenia()
-
1
znamená chybupočetZariadení()
,
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
public static int vyskaZariadenia()
výškaZariadenia
.public static int výškaZariadenia(int zariadenie)
zariadenie
– poradové číslo zariadenia, ktorého výška má byť
zistená-
1
znamená chybupočetZariadení()
,
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
public static int vyskaZariadenia(int zariadenie)
výškaZariadenia
.public static boolean celáObrazovka()
true
znamená úspech a false
neúspechpočetZariadení()
,
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
public static boolean celaObrazovka()
celáObrazovka
.public static boolean celáObrazovka(int zariadenie)
(Príklad použitia tejto metódy je pri opise metódy
celáObrazovka(int, boolean)
.)
zariadenie
– poradové číslo zariadenia, ktoré má byť použité
v režime celej obrazovkytrue
znamená úspech a false
neúspechpočetZariadení()
,
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
public static boolean celaObrazovka(int zariadenie)
celáObrazovka
.public static boolean celáObrazovka(boolean celáObrazovka)
celáObrazovka
– ak je true
, tak má byť režim celej
obrazovky zapnutý, ak je false
, tak má byť režim celej
obrazovky vypnutýtrue
znamená úspech a false
neúspechpočetZariadení()
,
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(int, boolean)
public static boolean celaObrazovka(boolean celáObrazovka)
celáObrazovka
.public static boolean celáObrazovka(int zariadenie, boolean celáObrazovka)
(Poznámky: V režime celej obrazovky nie je
dostupná ponuka, pretože testovanie ukázalo, že v režime celej
obrazovky spôsobujú všetky „ponukovo orientované“ prvky
používateľského rozhrania (hlavná ponuka, rozbaľovací zoznam…)
problémy. Nemali by ste ich preto v režime celej obrazovky
používať.
Počas prechodu do režimu celej obrazovky sa však automaticky
aktivuje klávesová skratka Ctrl + W
, resp.
⌘ + W
(Command + W), ktorá bola
pôvodne naviazaná na položku ponuky a ktorá znamená koniec
aplikácie.
— Počas testovania sme zistili, že prinajmenšom na platforme Windows
je počas prechodu do režimu celej obrazovky (prinajmenšom na
sekundárnom zariadení) automaticky skrytý kurzor myši, pri prechode
späť do „normálneho“ režimu je viditeľnosť kurzora automaticky
obnovená. Príčina tohto správania pre nás zostala neznáma
a nepodarilo sa ho nijakým spôsobom zmeniť. V prípade potreby je
možné použiť na zobrazenie polohy kurzora niektorého robota, ktorý
bude sledovať polohu myši.)
Príklad:
public
class
TestCelejObrazovkyextends
GRobot
{// Ktoré zariadenie má byť použité v režime celej obrazovky?
// Nula je predvolené. V hlavnej metóde je úprava tejto hodnoty…
private
static
int
zariadenie =0
;private
TestCelejObrazovky() {// Nastavenie rozmerov plátna podľa rozmerov zariadenia.
super
(Svet
.šírkaZariadenia
(zariadenie),Svet
.výškaZariadenia
(zariadenie));Svet
.upevni
();Svet
.celáObrazovka
(zariadenie); }// Obsluha klávesnice (na ukončenie aplikácie).
@
Overridepublic
void
uvoľnenieKlávesu
() {// Kláves ESC spôsobí vypnutie aplikácie.
if
(ÚdajeUdalostí
.kláves
(Kláves
.ESCAPE
))Svet
.koniec
(); }// Hlavná metóda.
public
static
void
main(String
[] args) {// Je pravdepodobné, že druhé zariadenie je spätný projektor, preto
// je tu tento test… Toto správanie odporúčame upraviť podľa potrieb.
if
(Svet
.početZariadení
() >1
) ++zariadenie;new
TestCelejObrazovky(); } }
zariadenie
– poradové číslo zariadenia, ktoré má byť použité
v režime celej obrazovkyceláObrazovka
– ak je true
, tak má byť režim celej
obrazovky zapnutý, ak je false
, tak má byť režim celej
obrazovky vypnutýtrue
znamená úspech a false
neúspechpočetZariadení()
,
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
public static boolean celaObrazovka(int zariadenie, boolean celáObrazovka)
celáObrazovka
.public static void pridajKlávesovúSkratku(String príkaz, int kódKlávesu)
ObsluhaUdalostí.klávesováSkratka
, ktorá používa metódu
ÚdajeUdalostí.príkazSkratky()
na identifikáciu príkazu.
Táto klávesová skratka je definovaná s predvoleným modifikátorom
používaným pre klávesové skratky položiek
ponuky. Ten je závislý od operačného systému, napríklad vo Windows
je to kláves CTRL
, v MacOS je ⌘
(Command). Ak chcete definovať klávesovú skratku bez
modifikátora, použite metódu pridajKlávesovúSkratku(príkaz, kódKlávesu, modifikátor)
s hodnotou modifikátora 0
.
príkaz
– príkaz, ktorý bude previazaný s touto klávesovou
skratkoukódKlávesu
– kód klávesu, ktorý má byť použitý ako klávesová
skratka (v kombinácii s modifikátorom pre ponuky); môže to byť
ľubovoľný kód klávesu z triedy Kláves
(Kláves.HORE
, Kláves.VK_X
…)pridajKlávesovúSkratku(String, int, int)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
public static void pridajKlavesovuSkratku(String príkaz, int kódKlávesu)
pridajKlávesovúSkratku
.public static void pridajKlávesovúSkratku(String príkaz, int kódKlávesu, int modifikátor)
ObsluhaUdalostí.klávesováSkratka
,
ktorá používa metódu ÚdajeUdalostí.príkazSkratky()
na identifikáciu príkazu.
príkaz
– príkaz, ktorý bude previazaný s touto klávesovou
skratkoukódKlávesu
– kód klávesu, ktorý má byť použitý ako klávesová
skratka; môže to byť ľubovoľný kód klávesu z triedy
Kláves
(Kláves.HORE
,
Kláves.VK_X
…)modifikátor
– klávesový modifikátor tejto skratky (napríklad
kláves CTRL – Kláves.CTRL_MASK
,
Shift – Kláves.SHIFT_MASK
,
Alt – Kláves.ALT_MASK
…); klávesovú skratku bez modifikátora je
možné definovať zadaním hodnoty 0
pridajKlávesovúSkratku(String, int)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
public static void pridajKlavesovuSkratku(String príkaz, int kódKlávesu, int modifikátor)
pridajKlávesovúSkratku
.public static void pridajKlávesovúSkratku(String príkaz, int kódKlávesu, int modifikátor, boolean ajVstupnýRiadok)
ObsluhaUdalostí.klávesováSkratka
,
ktorá používa metódu ÚdajeUdalostí.príkazSkratky()
na identifikáciu príkazu.
Niektoré klávesové skratky by mohli spôsobiť obmedzenie
funkčnosti vstupného riadka
, preto táto
verzia metódy umožňuje nepriradiť túto skratku vstupnému riadku.
príkaz
– príkaz, ktorý bude previazaný s touto klávesovou
skratkoukódKlávesu
– kód klávesu, ktorý má byť použitý ako klávesová
skratka; môže to byť ľubovoľný kód klávesu z triedy
Kláves
(Kláves.HORE
,
Kláves.VK_X
…)modifikátor
– klávesový modifikátor tejto skratky (napríklad
kláves CTRL – Kláves.CTRL_MASK
,
Shift – Kláves.SHIFT_MASK
,
Alt – Kláves.ALT_MASK
…); klávesovú skratku bez modifikátora je
možné definovať zadaním hodnoty 0
ajVstupnýRiadok
– ak si neželáme, aby táto skratka fungovala
aj vo vstupnom riadku, zadáme false
pridajKlávesovúSkratku(String, int)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
public static void pridajKlavesovuSkratku(String príkaz, int kódKlávesu, int modifikátor, boolean ajVstupnýRiadok)
pridajKlávesovúSkratku
.public static void odoberKlávesovúSkratku(String príkaz)
príkaz
– príkaz, ktorý je previazaný s niektorou
klávesovou skratkoupridajKlávesovúSkratku(String, int)
,
pridajKlávesovúSkratku(String, int, int)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
public static void odoberKlavesovuSkratku(String príkaz)
odoberKlávesovúSkratku
.public static KeyStroke skratkaPríkazu(String príkaz)
null
.
príkaz
– príkaz, ktorý by mal byť previazaný s niektorou
klávesovou skratkouKeyStroke
alebo null
pridajKlávesovúSkratku(String, int)
,
pridajKlávesovúSkratku(String, int, int)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
public static KeyStroke skratkaPrikazu(String príkaz)
skratkaPríkazu
.public static String reťazecSkratkyPríkazu(String príkaz)
null
.
príkaz
– príkaz, ktorý by mal byť previazaný s niektorou
klávesovou skratkounull
pridajKlávesovúSkratku(String, int)
,
pridajKlávesovúSkratku(String, int, int)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
public static String retazecSkratkyPrikazu(String príkaz)
reťazecSkratkyPríkazu
.