public final class Svet extends JFrame
Trieda, ktorá spája metódy obsluhujúce hlavné okno so statickými metódami rôzneho významu.
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 grafického 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:
import
knižnica.*;public
class
PrehliadačObrázkovextends
GRobot
{// Názov práve prehliadaného obrázka
private
String
obrázok =null
;// Zoznam obrázkov prečí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
; } }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(); } }
Poznámka: Táto trieda používa na generovanie pseudonáhodných čísiel implementáciu Mersennovho twistera z CERNu z roku 1999. Uvedená implementácia bola použitá aj v rámci procesu implementácie vlastnej optimalizovanej verzie generátora pseudonáhodných čísiel s binomickým rozložením. (Pozri zdroj nižšie.)
Súvisiaci zdroj:
JFrame
,
SerializovateľnosťModifikátor a typ | Trieda a opis |
---|---|
static class |
Svet.PrikazovyRiadok
Alias pre
PríkazovýRiadok . |
static class |
Svet.PríkazovýRiadok
Hlavná časť implementácie jednoduchého príkazového riadka
operačného systému.
|
JFrame.AccessibleJFrame
Frame.AccessibleAWTFrame
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifikátor a typ | Atribút a opis |
---|---|
static DecimalFormat |
format
Alias pre
formát . |
static DecimalFormat |
formát
Inštancia triedy
DecimalFormat slúžiaca na
formátovanie číselných výstupov. |
static Svet.PrikazovyRiadok |
prikazovyRiadok
Alias pre
príkazovýRiadok . |
static Svet.PrikazovyRiadok |
príkazovýRiadok
Inštancia triedy
PríkazovýRiadok
slúžiaca na komunikáciu s príkazovým prostredím operačného
systému. |
static SVGPodpora |
svgExport
Atribút na podporu exportu kreslenia robotov do zadanej
inštancie
SVGPodpora . |
static ZmenaCelejObrazovky |
zmenaCelejObrazovky
Hodnota tohto atribútu môže obsahovať vlastnú implementáciu
spôsobu zmeny režimu celej obrazovky.
|
static boolean |
zmenaLAF
Tento špeciálny atribút je predvolene nastavený na
true . |
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 boolean |
aktivnaHistoriaVstupnehoRiadka()
Alias pre
aktívnaHistóriaVstupnéhoRiadka . |
static boolean |
aktívnaHistóriaVstupnéhoRiadka()
Zistí, či je automatické uchovávanie potvrdených vstupných
riadkov aktívne.
|
static ObsluhaUdalostí |
aktívnaObsluhaUdalostí()
Táto metóda slúži na získanie aktívnej inštancie obsluhy udalostí.
|
static ObsluhaUdalosti |
aktivnaObsluhuUdalosti()
Alias pre
aktívnaObsluhaUdalostí . |
static void |
aktivujHistoriuVstupnehoRiadka()
Alias pre
aktivujHistóriuVstupnéhoRiadka . |
static void |
aktivujHistóriuVstupnéhoRiadka()
Aktivuje automatické uchovávanie potvrdených vstupných riadkov.
|
static boolean |
aktivujStandardnyVstup()
Alias pre
aktivujŠtandardnýVstup . |
static boolean |
aktivujStandardnyVstup(String kódovanie)
Alias pre
aktivujŠtandardnýVstup . |
static boolean |
aktivujŠtandardnýVstup()
Táto metóda vykoná jednorazovú akciu aktivovania štandardného
vstupu s predvoleným kódovaním UTF-8.
|
static boolean |
aktivujŠtandardnýVstup(String kódovanie)
Táto metóda vykoná jednorazovú akciu aktivovania štandardného
vstupu so zadaným kódovaním.
|
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 KeyEvent |
cakajNaKlaves()
Alias pre
čakajNaKláves . |
static InputEvent[] |
cakajNaKlavesAleboKlik()
Alias pre
čakajNaKlikAleboKláves . |
static MouseEvent |
cakajNaKlik()
Alias pre
čakajNaKlik . |
static InputEvent[] |
cakajNaKlikAleboKlaves()
Alias pre
čakajNaKlikAleboKláves . |
static String |
cakajNaVstup()
Alias pre
čakajNaVstup . |
static boolean |
casovacAktivny()
Alias pre
časovačAktívny . |
static boolean |
casovacSpi()
Alias pre
časovačSpí . |
static boolean |
casovacSpusteny()
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 na určenom
zobrazovacom zariadení.
|
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äť
na určenom zobrazovacom zariadení.
|
static String |
celeNaRimske(long celé)
Alias pre
celéNaRímske . |
static String |
celéNaRímske(long celé)
Prevedie zadané celé číslo na reťazec s rímskou reprezentáciou
celých čísiel.
|
static long |
ciselnyKoren(long číslo)
Alias pre
číselnýKoreň . |
static long |
ciselnyKoren(long číslo,
long základ)
Alias pre
číselnýKoreň . |
static int |
cisloTiku()
Alias pre
čísloTiku . |
static void |
citajKonfiguraciuSveta()
Alias pre
čítajKonfiguráciuSveta . |
static void |
citajObrazky(Object... súbory)
Alias pre
čítajObrázky . |
static void |
citajObrazky(String[] súbory)
Alias pre
čítajObrázky . |
static Image |
citajObrazok(String súbor)
Alias pre
čítajObrázok . |
static Object |
citajPremennu(String názov,
Class<?> typ)
Alias pre
čítajPremennú . |
static Zvuk |
citajZvuk(String súbor)
Alias pre
čítajZvuk . |
static Zvuk |
citajZvuk(String súbor,
boolean unikátny)
Alias pre
čítajZvuk . |
static void |
citajZvuky(Object... súbory)
Alias pre
čítajZvuky . |
static void |
citajZvuky(String[] súbory)
Alias pre
čítajZvuky . |
static void |
čakaj(double početSekúnd)
Pozdrží vykonávanie programu na zadaný počet sekúnd.
|
static KeyEvent |
čakajNaKláves()
Slúži na pozastavenie (blokovanie) programu s cieľom čakania
na stlačenie klávesu.
|
static InputEvent[] |
čakajNaKlávesAleboKlik()
Alias pre
čakajNaKlikAleboKláves . |
static MouseEvent |
čakajNaKlik()
Slúži na pozastavenie (blokovanie) programu s cieľom čakania
na kliknutie ľubovoľným tlačidlom myši.
|
static InputEvent[] |
čakajNaKlikAleboKláves()
Slúži na pozastavenie (blokovanie) programu s cieľom čakania
na stlačenie ľubovoľného klávesu alebo kliknutie ľubovoľným
tlačidlom myši.
|
static String |
čakajNaVstup()
Táto metóda implementuje mechanizmus blokovania pri čakaní
údajov zo štandardného vstupu (v samostatnom vlákne).
|
static boolean |
časovačAktívny()
Zistí, či je časovač aktívny.
|
static boolean |
časovačSpí()
Zistí, či je časovač v „režime spánku.“ Podrobnosti o užitočnosti
spánku časovača nájdete v opise metódy uspiČasovač.
|
static boolean |
časovačSpustený()
Alias pre
časovačAktívny . |
static long |
číselnýKoreň(long číslo)
Vypočíta číselný koreň (digital root; alebo opakovaný digitálny
súčet) absolútnej hodnoty zadaného čísla v desiatkovej číselnej
sústave.
|
static long |
číselnýKoreň(long číslo,
long základ)
Vypočíta číselný koreň (digital root; alebo opakovaný digitálny
súčet) absolútnej hodnoty zadaného čísla podľa zadaného číselného
základu.
|
static int |
čísloTiku()
Overí, ktorý násobok tiku je práve vykonávaný.
|
static void |
čítajKonfiguráciuSveta()
Prečíta konfiguráciu
sveta (a plátien).
|
static void |
čítajObrázky(Object... súbory)
Táto metóda slúži na čítanie zadaných obrázkov do vnútornej pamäte
sveta (napríklad pri štarte aplikácie).
|
static void |
čítajObrázky(String[] súbory)
Táto metóda slúži na čítanie zadaných obrázkov do vnútornej pamäte
sveta (napríklad pri štarte aplikácie).
|
static Image |
čítajObrázok(String súbor)
Prečíta do vnútornej pamäte sveta zadaný obrázok zo súboru a vráti
ho v objekte typu
Image . |
static Object |
čítajPremennú(String názov,
Class<?> typ)
Zistí hodnotu premennej zadaného údajového typu
interaktívneho režimu.
|
static Zvuk |
čítajZvuk(String súbor)
Prečíta do vnútornej pamäte sveta zadaný zvuk zo súboru a vráti
ho v objekte typu
Zvuk . |
static Zvuk |
čítajZvuk(String súbor,
boolean unikátny)
Prečíta do vnútornej pamäte sveta zadaný zvuk zo súboru a vráti
ho v objekte typu
Zvuk . |
static void |
čítajZvuky(Object... súbory)
Táto metóda slúži na čítanie zadaných zvukových súborov do
vnútornej pamäte sveta (napríklad pri štarte aplikácie).
|
static void |
čítajZvuky(String[] súbory)
Táto metóda slúži na čítanie zadaných zvukových súborov do
vnútornej pamäte sveta (napríklad pri štarte aplikácie).
|
static long |
dajPrvocislo(int n)
Alias pre
dajPrvočíslo . |
static long |
dajPrvočíslo(int n)
Vráti n-té prvočíslo.
|
static GRobot |
dajRobot(String menoRobota)
Vráti inštanciu robota podľa jeho mena.
|
static GRobot |
dajRobota(String menoRobota)
Alias pre
dajRobot . |
static Skript |
dajSkript(String názov)
Vráti inštanciu skriptu registrovanú vo vnútornej pamäti programovacieho rámca
pod zadaným menom.
|
static void |
deaktivujHistoriuVstupnehoRiadka()
Alias pre
deaktivujHistóriuVstupnéhoRiadka . |
static void |
deaktivujHistóriuVstupnéhoRiadka()
Deaktivuje automatické uchovávanie potvrdených vstupných
riadkov počas činnosti aplikácie.
|
static Vlnenie |
definovaneVlnenie()
Alias pre
jestvujúceVlnenie . |
static Vlnenie |
definovanéVlnenie()
Alias pre
jestvujúceVlnenie . |
static boolean |
dialog(String[] popisy,
Object[] údaje)
Alias pre
dialóg . |
static boolean |
dialóg(String[] popisy,
Object[] údaje)
Otvorí prispôsobiteľný dialóg s prvkami vytvorenými podľa poľa
údaje . |
static boolean |
dialog(String[] popisy,
Object[] údaje,
String titulok)
Alias pre
dialóg . |
static boolean |
dialóg(String[] popisy,
Object[] údaje,
String titulok)
Vytvorí a otvorí prispôsobiteľný dialóg s prvkami vytvorenými
podľa obsahu poľa
údaje . |
static double |
dolnyOkraj()
Alias pre
dolnýOkraj . |
static double |
dolnýOkraj()
Alias pre
spodnýOkraj . |
static Vlnenie |
existujuceVlnenie()
Alias pre
jestvujúceVlnenie . |
static Vlnenie |
existujúceVlnenie()
Alias pre
jestvujúceVlnenie . |
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 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 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 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 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 Farba |
farbaPlochy()
|
static void |
farbaPlochy(Color nováFarba)
|
static void |
farbaPlochy(Farebnosť objekt)
Nastaví farbu plochy sveta podľa farby zadaného objektu.
|
static Farba |
farbaPlochy(int r,
int g,
int b)
Nastaví farbu plochy sveta.
|
static Farba |
farbaPlochy(int r,
int g,
int b,
int a)
Nastaví farbu a (ne)priehľadnosť plochy sveta.
|
static Farba |
farbaPozadia()
|
static void |
farbaPozadia(Color nováFarba)
|
static void |
farbaPozadia(Farebnosť objekt)
Nastaví farbu pozadia sveta podľa farby zadaného objektu.
|
static Farba |
farbaPozadia(int r,
int g,
int b)
Nastav farbu pozadia sveta.
|
static Farba |
farbaPozadia(int r,
int g,
int b,
int a)
Nastav farbu a (ne)priehľadnosť pozadia sveta.
|
static 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 Farba |
farbaPozadiaTextu(int r,
int g,
int b)
Nastav farbu pozadia textov stropu.
|
static Farba |
farbaPozadiaTextu(int r,
int g,
int b,
int a)
Nastav farbu pozadia textov stropu.
|
static 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 Farba |
farbaTextu(int r,
int g,
int b)
Nastav farbu textov stropu.
|
static Farba |
farbaTextu(int r,
int g,
int b,
int a)
Nastav farbu textov stropu.
|
static void |
formulujChybuSkriptu(int kódSkriptu)
Sformuluje znenie chyby skriptu na základe zadaného kódu chyby
a zobrazí dialóg s chybovým hlásením rozdeleným na riadky so
predvoleným počtom znakov (
60 ) a predvoleným titulkom
chybového dialógu ("Chyba skriptu…" ). |
static void |
formulujChybuSkriptu(int kódSkriptu,
int šírkaRiadka)
Sformuluje znenie chyby skriptu na základe zadaného kódu chyby
a zobrazí dialóg s chybovým hlásením rozdeleným na riadky so
zadaným počtom znakov a predvoleným titulkom chybového dialógu
(
"Chyba skriptu…" ). |
static void |
formulujChybuSkriptu(int kódSkriptu,
String titulokChyby)
Sformuluje znenie chyby skriptu na základe zadaného kódu chyby
a zobrazí dialóg s chybovým hlásením rozdeleným na riadky so
predvoleným počtom znakov (
60 ) a zadaným titulkom
chybového dialógu. |
static void |
formulujChybuSkriptu(int kódSkriptu,
String titulokChyby,
int šírkaRiadka)
Sformuluje znenie chyby skriptu na základe zadaného kódu chyby
a zobrazí dialóg s chybovým hlásením rozdeleným na riadky so
zadaným počtom znakov a zadaným titulkom chybového dialógu.
|
static double |
frekvenciaNoty(int nota,
int oktáva)
Vypočíta harmonickú frekvenciu tónu na základe zadaného
poradového čísla noty (odporúčané sú hodnoty 1 až 12) a oktávy
(odporúčané sú hodnoty −1 až 9).
|
static knižnica.podpora.BeepChannel |
generatorTonov()
Alias pre
generátorTónov . |
static knižnica.podpora.BeepChannel |
generátorTónov()
Táto metóda sprostredkúva prístup k vnútornej inštancii
generátora tónov (
BeepChannel ). |
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 Zoznam<String> |
historiaVstupnehoRiadka()
Alias pre
históriaVstupnéhoRiadka . |
static Zoznam<String> |
históriaVstupnéhoRiadka()
Vráti zoznam reťazcov histórie vstupného riadka.
|
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 JPanel |
hlavnyPanel()
Alias pre
hlavnýPanel . |
static JPanel |
hlavnýPanel()
Poskytne komponent hlavného panela vloženého v hlavnom okne
aplikácie (vo svete).
|
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 void |
hrajTon(double frekvencia)
Alias pre
hrajTón . |
static void |
hrajTón(double frekvencia)
Spustí prehrávanie tónu tvoreného jedinou harmonickou frekvenciou.
|
static void |
hrajTon(double frekvencia,
double hlasitosť)
Alias pre
hrajTón . |
static void |
hrajTón(double frekvencia,
double hlasitosť)
Spustí prehrávanie tónu tvoreného jedinou harmonickou frekvenciou
so zadanou hlasitosťou (v rozsahu od
0.0 do 1.0 ). |
static void |
hrajTon(double frekvencia,
double hlasitosť,
double trvanie)
Alias pre
hrajTón . |
static void |
hrajTón(double frekvencia,
double hlasitosť,
double trvanie)
Spustí prehrávanie tónu tvoreného jedinou harmonickou frekvenciou
so zadanou hlasitosťou (v rozsahu od
0.0 do 1.0 )
a s dĺžkou trvania prehrávania v sekundách. |
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 |
chyba(String chyba)
Zobrazí štandardný dialóg so zadanou textovou správou a ikonou
chyby.
|
static void |
chyba(String chyba,
String titulok)
Zobrazí štandardný dialóg so zadanou textovou správou a ikonou
chyby.
|
static boolean |
chybaSystemovejIkony(String chyba)
Alias pre
chybaSystémovejIkony . |
static boolean |
chybaSystémovejIkony(String chyba)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané
chybové oznámenie.
|
static boolean |
chybaSystemovejIkony(String chyba,
String titulok)
Alias pre
chybaSystémovejIkony . |
static boolean |
chybaSystémovejIkony(String chyba,
String titulok)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané
chybové oznámenie s titulkom.
|
static Obrazok |
ikona()
Prečíta ikonu okna aplikácie a prevedie ju na obrázok.
|
static void |
ikona(Image obrázok)
Nastaví oknu aplikácie ikonu podľa zadaného obrázka.
|
static void |
ikona(String súbor)
|
static boolean |
informaciaSystemovejIkony(String informácia)
Alias pre
informáciaSystémovejIkony . |
static boolean |
informáciaSystémovejIkony(String informácia)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané
informačné oznámenie.
|
static boolean |
informaciaSystemovejIkony(String informácia,
String titulok)
Alias pre
informáciaSystémovejIkony . |
static boolean |
informáciaSystémovejIkony(String informácia,
String titulok)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané
informačné oznámenie s titulkom.
|
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 inštanciu sveta.
|
static double |
intervalCasovaca()
Alias pre
intervalČasovača . |
static double |
intervalČasovača()
Vráti časový interval časovača v sekundách.
|
static boolean |
jePrvocislo(long číslo)
Alias pre
jePrvočíslo . |
static boolean |
jePrvočíslo(long číslo)
Overí, či zadané číslo je prvočíslo.
|
static Vlnenie |
jestvujuceVlnenie()
Alias pre
jestvujúceVlnenie . |
static Vlnenie |
jestvujúceVlnenie()
Táto metóda vráti inštanciu vlnenia len v prípade, že jestvuje.
|
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 Súbor |
konfiguracnySubor()
Alias pre
konfiguračnýSúbor . |
static Súbor |
konfiguračnýSúbor()
Vráti inštanciu konfiguračného súboru na účely úpravy jeho parametrov,
napríklad na úpravu predvolenej sekcie automatickej konfigurácie.
|
static void |
koniec()
Skončí aplikáciu bez opýtania.
|
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 void |
kresli(Shape tvar)
Táto metóda slúži na kreslenie obrysov zadaného tvaru na podlahu.
|
static void |
kresli(Shape tvar,
GRobot kreslič)
Táto metóda slúži na kreslenie obrysov zadaného tvaru na podlahu.
|
static double |
kubickaAproximacia(double v0,
double v1,
double v2,
double v3,
double t)
Alias pre
kubickáAproximácia . |
static double |
kubickáAproximácia(double v0,
double v1,
double v2,
double v3,
double t)
Kubická aproximácia je počítaná zo štyroch vstupných hodnôt
(a parametra).
|
static double |
kubickaInterpolacia(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 vstupných hodnôt
(a parametra).
|
static double |
kvadratickaAproximacia(double a,
double b,
double c,
double t)
Alias pre
kvadratickáAproximácia . |
static double |
kvadratickáAproximácia(double a,
double b,
double c,
double t)
Kvadratická aproximácia je počítaná z troch vstupných hodnôt
(a parametra).
|
static double |
kvadratickaInterpolacia(double a,
double b,
double c,
double t)
Alias pre
kvadratickáInterpolácia . |
static double |
kvadratickáInterpolácia(double a,
double b,
double c,
double t)
Kvadratická interpolácia je počítaná z troch vstupných hodnôt
(a parametra).
|
static double |
lavyOkraj()
Alias pre
ľavýOkraj . |
static double |
ľavýOkraj()
|
static boolean |
lenRezimLadenia()
Alias pre
lenRežimLadenia . |
static boolean |
lenRežimLadenia()
Zistí, či je zapnutý režim ladenia programovacieho rámca
GRobot bez ohľadu na režim výpisu chybových hlásení rámca.
|
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)
Táto metóda slúži na parametrické vypočítanie hodnoty ležiacej
medzi dvomi zadanými hodnotami.
|
static boolean |
maVlnenie()
Alias pre
máVlnenie . |
static boolean |
máVlnenie()
Overí, či má svet definovanú inštanciu vlnenia.
|
static boolean |
maximalizovany()
Alias pre
maximalizovaný . |
static boolean |
maximalizovaný()
Zistí, či je okno sveta v maximalizovanom stave.
|
static void |
maximalizuj()
Pokúsi sa prepnúť okno sveta do maximalizovaného stavu.
|
static double |
maximalneX()
Alias pre
najväčšieX . |
static double |
maximálneX()
Alias pre
najväčšieX . |
static double |
maximalneY()
Alias pre
najväčšieY . |
static double |
maximálneY()
Alias pre
najväčšieY . |
static Bod |
mierkaVyplne()
Alias pre
mierkaVýplne . |
static Bod |
mierkaVýplne()
Vráti bod s hodnotami mierky obrázkových dlaždicových výplní
v osiach x a y.
|
static void |
mierkaVyplne(double mierka)
Alias pre
mierkaVýplne . |
static void |
mierkaVýplne(double mierka)
Nastaví mierku obrázkových dlaždicových výplní (v oboch osiach
naraz).
|
static void |
mierkaVyplne(double mx,
double my)
Alias pre
mierkaVýplne . |
static void |
mierkaVýplne(double mx,
double my)
Nastaví mierku obrázkových dlaždicových výplní jednotlivo pre
osi x a y.
|
static boolean |
minimalizovany()
Alias pre
minimalizovaný . |
static boolean |
minimalizovaný()
Zistí, či je okno sveta v minimalizovanom stave.
|
static void |
minimalizuj()
Pokúsi sa prepnúť okno sveta do minimalizovaného stavu.
|
static double |
minimalneX()
Alias pre
najmenšieX . |
static double |
minimálneX()
Alias pre
najmenšieX . |
static double |
minimalneY()
Alias pre
najmenšieY . |
static double |
minimálneY()
Alias pre
najmenšieY . |
static Object[] |
mojeOdpovede()
Vráti pole vlastných odpovedí komunikačných dialógov
programovacieho rámca alebo hodnotu
null , ak sú aktívne
predvolené odpovede. |
static void |
mojeOdpovede(Object[] odpovede)
Zmení predvolené odpovede komunikačných dialógov programovacieho
rámca na vlastné.
|
static boolean |
mysJeZachytena()
Alias pre
myšJeZachytená . |
static String |
mysVAktivnomSlove()
Alias pre
myšVAktívnomSlove . |
static boolean |
myšJeZachytená()
Overí, či je myš zachytená v okne sveta.
|
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 |
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 (vrátane)
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 (vrátane)
po jeden (vynímajúc).
|
static double |
náhodnéReálneČíslo(double hodnota)
Generovanie náhodného reálneho čísla v rozsahu od nula (vrátane)
po zadanú hodnotu parametra (vynímajúc).
|
static double |
náhodnéReálneČíslo(double min,
double max)
Generovanie náhodného reálneho čísla v zadanom rozsahu.
|
static Skript |
nahrajSkript(String súbor)
Toto je klon metódy
nahrajSkript(názov, súbor) , ktorý bol definovaný preto, aby
bolo možné nahrávať zo súborov skripty aj v rámci iných
skriptov. |
static Skript |
nahrajSkript(String názov,
String súbor)
Nahrá skript zo súboru a uloží ho do vnútornej pamäte pod
zadaným názvom.
|
static Bod |
najblizsiBodNaKruznici(double x0,
double y0,
double x1,
double y1,
double r)
Alias pre
najbližšíBodNaKružnici . |
static Bod |
najblizsiBodNaKruznici(Poloha V,
Poloha S,
double r)
Alias pre
najbližšíBodNaKružnici . |
static Bod |
najblizsiBodNaPriamke(double x0,
double y0,
double x1,
double y1,
double x2,
double y2)
Alias pre
najbližšíBodNaPriamke . |
static Bod |
najblizsiBodNaPriamke(Poloha[] poleBodov)
Alias pre
najbližšíBodNaPriamke . |
static Bod |
najblizsiBodNaPriamke(Poloha V,
Poloha A,
Poloha B)
Alias pre
najbližšíBodNaPriamke . |
static Bod |
najblizsiBodNaUsecke(double x0,
double y0,
double x1,
double y1,
double x2,
double y2)
Alias pre
najbližšíBodNaÚsečke . |
static Bod |
najblizsiBodNaUsecke(Poloha[] poleBodov)
Alias pre
najbližšíBodNaÚsečke . |
static Bod |
najblizsiBodNaUsecke(Poloha V,
Poloha A,
Poloha B)
Alias pre
najbližšíBodNaÚsečke . |
static Bod |
najbližšíBodNaKružnici(double x0,
double y0,
double x1,
double y1,
double r)
Nájde najbližší bod na kružnici so stredom S[x1, y1]
a polomerom r k zadanému voľnému bodu V[x0, y0] a vráti jeho
polohu v objekte typu
Bod . |
static Bod |
najbližšíBodNaKružnici(Poloha V,
Poloha S,
double r)
Nájde najbližší bod na kružnici so stredom S a polomerom
r k zadanému voľnému bodu V a vráti jeho polohu v objekte typu
Bod . |
static Bod |
najbližšíBodNaPriamke(double x0,
double y0,
double x1,
double y1,
double x2,
double y2)
Nájde najbližší bod na priamke určenej dvomi bodmi A[x1, y1]
a B[x2, y2] k zadanému voľnému bodu V[x0, y0] a vráti jeho
súradnice v objekte typu
Bod . |
static Bod |
najbližšíBodNaPriamke(Poloha[] poleBodov)
Nájde najbližší bod na priamke AB k zadanému voľnému bodu
V a vráti jeho súradnice v objekte typu
Bod . |
static Bod |
najbližšíBodNaPriamke(Poloha V,
Poloha A,
Poloha B)
Nájde najbližší bod na priamke AB k zadanému voľnému bodu
V a vráti jeho súradnice v objekte typu
Bod . |
static Bod |
najbližšíBodNaÚsečke(double x0,
double y0,
double x1,
double y1,
double x2,
double y2)
Nájde najbližší bod na úsečke určenej dvomi bodmi A[x1, y1]
a B[x2, y2] k zadanému voľnému bodu V[x0, y0] a vráti jeho
súradnice v objekte typu
Bod . |
static Bod |
najbližšíBodNaÚsečke(Poloha[] poleBodov)
Nájde najbližší bod na úsečke AB k zadanému voľnému bodu
V a vráti jeho súradnice v objekte typu
Bod . |
static Bod |
najbližšíBodNaÚsečke(Poloha V,
Poloha A,
Poloha B)
Nájde najbližší bod na úsečke AB k zadanému voľnému bodu
V a vráti jeho súradnice v objekte typu
Bod . |
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 String[] |
naRiadkyBezZmien(String text)
Rozdelí zadaný reťazec na samostatné riadky bez ďalších úprav.
|
static int |
nasobTiky()
Alias pre
násobTiky . |
static int |
násobTiky()
Zistí aktuálnu hodnotu násobičky tikov časovača.
|
static void |
nasobTiky(int násobTiky)
Alias pre
násobTiky . |
static void |
násobTiky(int počet)
Upraví hodnotu násobičky tikov časovača.
|
static String |
nazovKonfiguracnehoSuboru()
Alias pre
názovKonfiguračnéhoSúboru . |
static String |
názovKonfiguračnéhoSúboru()
Vráti naposledy použitý názov konfiguračného súboru.
|
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 predvolenú implementáciu automatického prekresľovanie
sveta.
|
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 |
nespi()
Spustí aktivitu pravidelného generovania udalostí pohybu
kurzorom myšky, aby sa zabránilo prechodu počítača do režimu
spánku.
|
static void |
nespi(int novýInterval)
Spustí aktivitu pravidelného generovania udalostí pohybu
kurzorom myšky, aby sa zabránilo prechodu počítača do režimu
spánku.
|
static void |
nespi(int novýInterval,
boolean ajČasovač)
Spustí aktivitu pravidelného generovania udalostí pohybu
kurzorom myšky, aby sa zabránilo prechodu počítača do režimu
spánku.
|
static void |
neuchovajHistoriuVstupnehoRiadka()
Alias pre
neuchovajHistóriuVstupnéhoRiadka . |
static void |
neuchovajHistóriuVstupnéhoRiadka()
Deaktivuje automatické uchovávanie histórie vstupných riadkov
do konfiguračného
súboru.
|
static void |
nezalamujTexty()
Vypne zalamovanie textov vnútornej konzoly stropu.
|
static boolean |
normalny()
Alias pre
normálny . |
static boolean |
normálny()
Zistí, či je okno sveta v normálnom stave.
|
static void |
novyKurzorMysi(Image predloha,
double x,
double y,
String meno)
Alias pre
novýKurzorMyši . |
static void |
novyKurzorMysi(Image predloha,
int x,
int y,
String meno)
Alias pre
novýKurzorMyši . |
static void |
novýKurzorMyši(Image predloha,
double x,
double y,
String meno)
Alias pre
novýKurzorMyši . |
static void |
novýKurzorMyši(Image predloha,
int x,
int y,
String meno)
Definuje nový kurzor myši použiteľný v hlavnom okne aplikácie.
|
static void |
obnov()
Pokúsi sa prepnúť okno sveta do normálneho stavu.
|
static BufferedImage |
obrazok()
Alias pre
obrázok . |
static BufferedImage |
obrázok()
Vráti objekt typu
BufferedImage obsahujúci
aktuálnu obrazovú informáciu sveta. |
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 char |
oddelovacDesatinnejCasti()
Alias pre
oddeľovačDesatinnejČasti . |
static void |
oddelovacDesatinnejCasti(char oddeľovač)
Alias pre
oddeľovačDesatinnejČasti . |
static String |
oddelovacPrvkovPola()
Alias pre
oddeľovačPrvkovPoľa . |
static void |
oddelovacPrvkovPola(String oddeľovač)
Alias pre
oddeľovačPrvkovPoľa . |
static Character |
oddelovacTisicov()
Alias pre
oddeľovačTisícov . |
static void |
oddelovacTisicov(Character oddeľovač)
Alias pre
oddeľovačTisícov . |
static char |
oddeľovačDesatinnejČasti()
Zistí, aký oddeľovač desatinnej časti je aktuálne používaný pri
výpisoch čísiel príkazmi
vypíš ,
vypíšRiadok . |
static void |
oddeľovačDesatinnejČasti(char oddeľovač)
Nastaví hodnotu oddeľovača desatinnej časti, ktorý bude používaný
pri výpisoch príkazmi
vypíš ,
vypíšRiadok . |
static String |
oddeľovačPrvkovPoľa()
Zistí, aký oddeľovač prvkov je aktuálne používaný pri výpisoch polí
príkazmi
vypíš ,
vypíšRiadok . |
static void |
oddeľovačPrvkovPoľa(String oddeľovač)
Nastaví hodnotu oddeľovača prvkov poľa, ktorý bude používaný pri
výpisoch polí príkazmi
vypíš ,
vypíšRiadok . |
static Character |
oddeľovačTisícov()
Zistí, aký oddeľovač tisícov je aktuálne používaný pri výpisoch
čísiel príkazmi
vypíš ,
vypíšRiadok . |
static void |
oddeľovačTisícov(Character oddeľovač)
Nastaví hodnotu oddeľovača tisícov, ktorý bude používaný pri
výpisoch príkazmi
vypíš ,
vypíšRiadok . |
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 |
odpovedDialogu()
Alias pre
odpoveďDialógu . |
static int |
odpoveďDialógu()
Vráti číslo (index) voľby v poslednom dialógu, ktorý bol
zobrazený používateľovi.
|
static void |
odstranVlnenie()
Alias pre
odstráňVlnenie . |
static void |
odstráňVlnenie()
Ukončí vlnenie sveta a úplne odstráni inštanciu vlnenia,
ktorá bola pre neho definovaná z prostredia programovacieho
rámca GRobot.
|
static JFrame |
oknoCelejObrazovky()
Ak je svet v režime celej obrazovky,
tak táto metóda vráti inštanciu
okna celej
obrazovky, inak metóda vráti hodnotu null . |
static int |
opakovaniePerlina()
Vráti hodnotu opakovania vzoru generátora Perlinovho šumu.
|
static void |
opakovaniePerlina(int opakovanie)
Nastaví novú hodnotu opakovania vzoru generátora Perlinovho
šumu.
|
static CharSequence |
orez(CharSequence sekvenciu,
CharSequence znakmi)
Alias pre
orež . |
static String |
orez(String reťazec,
String znakmi)
Alias pre
orež . |
static CharSequence |
orež(CharSequence sekvenciu,
CharSequence znakmi)
Oreže sekvenciu znakov prvého parametra o znaky zadané do
sekvencie znakov druhého parametra.
|
static String |
orež(String reťazec,
String znakmi)
Oreže reťazec prvého parametra o znaky zadané do reťazca druhého
parametra.
|
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 double |
otocenieVyplne()
Alias pre
otočenieVýplne . |
static void |
otocenieVyplne(double uhol)
Alias pre
otočenieVýplne . |
static void |
otocenieVyplne(double uhol,
double sx,
double sy)
Alias pre
otočenieVýplne . |
static void |
otocenieVyplne(double uhol,
Poloha poloha)
Alias pre
otočenieVýplne . |
static void |
otocenieVyplne(double uhol,
Shape tvar)
Alias pre
otočenieVýplne . |
static void |
otocenieVyplne(Smer smer)
Alias pre
otočenieVýplne . |
static void |
otocenieVyplne(Smer smer,
double sx,
double sy)
Alias pre
otočenieVýplne . |
static void |
otocenieVyplne(Smer smer,
Poloha poloha)
Alias pre
otočenieVýplne . |
static void |
otocenieVyplne(Smer smer,
Shape tvar)
Alias pre
otočenieVýplne . |
static void |
otocenieVyplneNaMys()
Alias pre
otočenieVýplneNaMyš . |
static double |
otočenieVýplne()
Vráti hodnotu pootočenia obrázkových dlaždicových výplní.
|
static void |
otočenieVýplne(double uhol)
Nastaví nový uhol pootočenia obrázkových dlaždicových výplní.
|
static void |
otočenieVýplne(double uhol,
double sx,
double sy)
Nastaví nový uhol pootočenia a zároveň nový relatívny stred
otáčania obrázkových dlaždicových výplní.
|
static void |
otočenieVýplne(double uhol,
Poloha poloha)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy) . |
static void |
otočenieVýplne(double uhol,
Shape tvar)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy) . |
static void |
otočenieVýplne(Smer smer)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol) . |
static void |
otočenieVýplne(Smer smer,
double sx,
double sy)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy) . |
static void |
otočenieVýplne(Smer smer,
Poloha poloha)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy) . |
static void |
otočenieVýplne(Smer smer,
Shape tvar)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy) . |
static void |
otočenieVýplneNaMyš()
Táto metóda použije súradnice myši na vypočítanie nového
pootočenia obrázkových výplní.
|
static boolean |
otvor(String súbor)
Pokúsi sa otvoriť zadaný súbor v predvolenej aplikácii podľa
nastavení operačného systému.
|
static boolean |
otvor(String súbor,
boolean naÚpravu)
Pokúsi sa otvoriť (spustiť) alebo otvoriť na úpravy zadaný
súbor v predvolenej aplikácii podľa nastavení operačného
systému.
|
static boolean |
otvorSuborNaUlozenieTonu(String názov)
Alias pre
otvorSúborNaUloženieTónu . |
static boolean |
otvorSuborNaUlozenieTonu(String názov,
boolean prepísať)
Alias pre
otvorSúborNaUloženieTónu . |
static boolean |
otvorSúborNaUloženieTónu(String názov)
Umožní začať záznam všetkých generovaných tónov, ktorý sa po
zavolaní párovej metódy
zavriSúborNaUloženieTónu uloží do súboru s požadovaným názvom. |
static boolean |
otvorSúborNaUloženieTónu(String názov,
boolean prepísať)
Umožní začať záznam všetkých generovaných tónov, ktorý sa po
zavolaní párovej metódy
zavriSúborNaUloženieTónu uloží do súboru s požadovaným názvom. |
static boolean |
otvorVPredvolenejAplikacii(String súbor)
Alias pre
otvorVPredvolenejAplikácii . |
static boolean |
otvorVPredvolenejAplikácii(String súbor)
Alias pre
otvorVPredvolenejAplikácii . |
static boolean |
otvorVPredvolenejAplikacii(String súbor,
boolean naÚpravu)
Alias pre
otvorVPredvolenejAplikácii . |
static boolean |
otvorVPredvolenejAplikácii(String súbor,
boolean naÚpravu)
Alias pre
otvorVPredvolenejAplikácii . |
static boolean |
otvorWebovyOdkaz(String uri)
Alias pre
otvorWebovýOdkaz . |
static boolean |
otvorWebovýOdkaz(String uri)
Pokúsi sa použiť zadaný textový reťazec ako webovú adresu
a otvoriť ju v predvolenom prehliadači operačného systému.
|
static boolean |
overujPociatocnuPolohuOkna()
Alias pre
overujPočiatočnúPolohuOkna . |
static void |
overujPociatocnuPolohuOkna(boolean overuj)
Alias pre
overujPočiatočnúPolohuOkna . |
static boolean |
overujPočiatočnúPolohuOkna()
Zistí aktuálny stav automatického overovania počiatočnej polohy
okna po jeho inicializácii.
|
static void |
overujPočiatočnúPolohuOkna(boolean overuj)
Zmení stav automatického overovania počiatočnej polohy okna po
jeho inicializácii.
|
static JMenuBar |
panelVstupnehoRiadka()
Alias pre
panelVstupnéhoRiadka . |
static JMenuBar |
panelVstupnéhoRiadka()
Vráti komponent panela vstupného riadka, aby s ním mohlo byť
manipulované na nižšej úrovni (úrovni bližšej k systému).
|
static double |
perlin(double x,
double y,
double z)
Vráti hodnotu 3D Perlinovho šumu z rozsahu ⟨−1; 1⟩ v bode so
zadanými súradnicami.
|
static double |
perlin(double x,
double y,
double z,
int početOktáv)
Vráti hodnotu 3D Perlinovho šumu z rozsahu ⟨−1; 1⟩ v bode so
zadanými súradnicami a so zadaným počtom obsiahnutých oktáv.
|
static double |
perlin(double x,
double y,
double z,
int početOktáv,
double stabilita)
Vráti hodnotu 3D Perlinovho šumu z rozsahu ⟨−1; 1⟩ v bode so
zadanými súradnicami a so zadaným počtom obsiahnutých oktáv.
|
static void |
pipni()
Alias pre
pípni . |
static void |
pípni()
Aplikácia vydá štandardný zvuk operačného systému.
|
static void |
pipni(String názov)
Alias pre
pípni . |
static void |
pípni(String názov)
Aplikácia vydá štandardný zvuk operačného systému Windows podľa
vloženého pomenovania.
|
static Pismo |
pismo()
Alias pre
písmo . |
static 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 Pismo |
pismo(String názov,
double veľkosť)
Alias pre
písmo . |
static Písmo |
písmo(String názov,
double 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 |
pocetObrazoviek()
Alias pre
početZariadení . |
static int |
pocetZariadení()
Alias pre
početZariadení . |
static int |
početObrazoviek()
Alias pre
početZariadení . |
static int |
početZariadení()
Zistí počet obrazovkových zariadení, ktoré sú dostupné na tomto
počítači.
|
static PoložkaPonuky |
polozkaPonukyKoniec()
Alias pre
položkaPonukyKoniec . |
static PoložkaPonuky |
polozkaPonukyPrekreslit()
Alias pre
položkaPonukyPrekresliť . |
static PoložkaPonuky |
polozkaPonukyVymazat()
Alias pre
položkaPonukyVymazať . |
static PoložkaPonuky |
položkaPonukyKoniec()
Poskytne preddefinovanú položku „Koniec“ na prípadné úpravy.
|
static PoložkaPonuky |
položkaPonukyPrekresliť()
Poskytne preddefinovanú položku „Prekresliť“ na prípadné úpravy.
|
static PoložkaPonuky |
položkaPonukyVymazať()
Poskytne preddefinovanú položku „Vymazať“ na prípadné úpravy.
|
static double |
polPerlina(double x,
double y,
double z)
Vráti hodnotu polovičného 3D Perlinovho šumu z rozsahu ⟨0; 1⟩
v bode so zadanými súradnicami.
|
static double |
polPerlina(double x,
double y,
double z,
int početOktáv)
Vráti hodnotu polovičného 3D Perlinovho šumu z rozsahu ⟨0; 1⟩
v bode so zadanými súradnicami a so zadaným počtom obsiahnutých
oktáv.
|
static double |
polPerlina(double x,
double y,
double z,
int početOktáv,
double stabilita)
Vráti hodnotu polovičného 3D Perlinovho šumu z rozsahu ⟨0; 1⟩
v bode so zadanými súradnicami a so zadaným počtom obsiahnutých
oktáv.
|
static double |
pomerHviezdy(int p)
Vypočíta pomer polomerov kružníc, ktoré prechádzajú vnútornými
a vonkajšími bodmi pravidelnej polygónovej hviezdy.
|
static double |
pomerHviezdy(int p,
int q)
Vypočíta pomer polomerov kružníc, ktoré prechádzajú vnútornými
a vonkajšími bodmi pravidelnej polygónovej hviezdy.
|
static double |
pootocenieVyplne()
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplne(double uhol)
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplne(double uhol,
double sx,
double sy)
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplne(double uhol,
Poloha poloha)
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplne(double uhol,
Shape tvar)
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplne(Smer smer)
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplne(Smer smer,
double sx,
double sy)
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplne(Smer smer,
Poloha poloha)
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplne(Smer smer,
Shape tvar)
Alias pre
pootočenieVýplne . |
static void |
pootocenieVyplneNaMys()
Alias pre
pootočenieVýplneNaMyš . |
static double |
pootočenieVýplne()
Vráti hodnotu pootočenia obrázkových dlaždicových výplní.
|
static void |
pootočenieVýplne(double uhol)
Nastaví nový uhol pootočenia obrázkových dlaždicových výplní.
|
static void |
pootočenieVýplne(double uhol,
double sx,
double sy)
Nastaví nový uhol pootočenia a zároveň nový relatívny stred
otáčania obrázkových dlaždicových výplní.
|
static void |
pootočenieVýplne(double uhol,
Poloha poloha)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy) . |
static void |
pootočenieVýplne(double uhol,
Shape tvar)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy) . |
static void |
pootočenieVýplne(Smer smer)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol) . |
static void |
pootočenieVýplne(Smer smer,
double sx,
double sy)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy) . |
static void |
pootočenieVýplne(Smer smer,
Poloha poloha)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy) . |
static void |
pootočenieVýplne(Smer smer,
Shape tvar)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy) . |
static void |
pootočenieVýplneNaMyš()
Táto metóda použije súradnice myši na vypočítanie nového
pootočenia obrázkových výplní.
|
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 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 boolean |
posliEmail(String... údajeSprávy)
Alias pre
pošliEmail . |
static Bod |
posunutieVyplne()
Alias pre
posunutieVýplne . |
static Bod |
posunutieVýplne()
Vráti bod so súradnicami relatívneho posunutia obrázkových
dlaždicových výplní.
|
static void |
posunutieVyplne(double x,
double y)
Alias pre
posunutieVýplne . |
static void |
posunutieVýplne(double x,
double y)
Nastaví relatívne posunutie obrázkových dlaždicových výplní.
|
static void |
posunutieVyplne(Poloha poloha)
Alias pre
posunutieVýplne . |
static void |
posunutieVýplne(Poloha poloha)
Táto metóda funguje podobne ako metóda
posunutieVýplne(x, y) . |
static void |
posunutieVyplne(Shape tvar)
Alias pre
posunutieVýplne . |
static void |
posunutieVýplne(Shape tvar)
Táto metóda funguje podobne ako metóda
posunutieVýplne(x, y) . |
static void |
posunutieVyplneNaMys()
Alias pre
posunutieVýplneNaMyš . |
static void |
posunutieVýplneNaMyš()
Táto metóda číta súradnice myši, ktoré použije na posunutie
počiatku obrázkových výplní.
|
static boolean |
pošliEmail(String... údajeSprávy)
Otvorí okno na napísanie novej správy elektronickej pošty
predvoleného e-mailového klienta OS.
|
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 |
pouziInteraktivnyRezim(String... nastavenia)
Alias pre
použiInteraktívnyRežim . |
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žiInteraktívnyRežim(String... nastavenia)
Komplexný konfiguračný príkaz umožňujúci vykonanie mnohých
nastavení sveta naraz.
|
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 |
prebudCasovac()
Alias pre
prebuďČasovač . |
static void |
prebuďČasovač()
Prebudí časovač z „režimu spánku.“ Podrobnosti o užitočnosti
spánku časovača nájdete v opise metódy uspiČasovač.
|
static void |
precitajKonfiguraciuSveta()
Alias pre
čítajKonfiguráciuSveta . |
static void |
precitajObrazky(Object... súbory)
Alias pre
čítajObrázky . |
static void |
precitajObrazky(String[] súbory)
Alias pre
čítajObrázky . |
static Image |
precitajObrazok(String súbor)
Alias pre
čítajObrázok . |
static Zvuk |
precitajZvuk(String súbor)
Alias pre
čítajZvuk . |
static Zvuk |
precitajZvuk(String súbor,
boolean unikátny)
Alias pre
čítajZvuk . |
static void |
precitajZvuky(Object... súbory)
Alias pre
čítajZvuky . |
static void |
precitajZvuky(String[] súbory)
Alias pre
čítajZvuky . |
static void |
prečítajKonfiguráciuSveta()
Alias pre
čítajKonfiguráciuSveta . |
static void |
prečítajObrázky(Object... súbory)
Alias pre
čítajObrázky . |
static void |
prečítajObrázky(String[] súbory)
Alias pre
čítajObrázky . |
static Image |
prečítajObrázok(String súbor)
Alias pre
čítajObrázok . |
static Zvuk |
prečítajZvuk(String súbor)
Alias pre
čítajZvuk . |
static Zvuk |
prečítajZvuk(String súbor,
boolean unikátny)
Alias pre
čítajZvuk . |
static void |
prečítajZvuky(Object... súbory)
Alias pre
čítajZvuky . |
static void |
prečítajZvuky(String[] súbory)
Alias pre
čítajZvuky . |
static void |
predvolenaFarbaPlochy()
Alias pre
predvolenáFarbaPlochy . |
static void |
predvolenáFarbaPlochy()
Nastaví predvolenú farbu plochy.
|
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 String |
predvolenaSekciaKonfiguracie()
Alias pre
predvolenáSekciaKonfigurácie . |
static String |
predvolenáSekciaKonfigurácie()
Vráti názov predvolenej sekcie.
|
static void |
predvolenaSekciaKonfiguracie(String názov)
Alias pre
predvolenáSekciaKonfigurácie . |
static void |
predvolenáSekciaKonfigurácie(String názov)
Zmení názov predvolenej sekcie, ktorú používajú metódy automatickej
konfigurácie.
|
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 premenná interaktívneho režimu so zadaným názvom a typom jestvuje (je
definovaná).
|
static boolean |
premenujPolozkuHlavnejPonuky(int ktorá,
String text)
Alias pre
premenujPoložkuHlavnejPonuky . |
static boolean |
premenujPolozkuHlavnejPonuky(int ktorá,
String text,
int mnemonickáSkratka)
Alias pre
premenujPoložkuHlavnejPonuky . |
static boolean |
premenujPoložkuHlavnejPonuky(int ktorá,
String text)
Premenuje zadanú položku hlavnej ponuky.
|
static boolean |
premenujPoložkuHlavnejPonuky(int ktorá,
String text,
int mnemonickáSkratka)
Premenuje zadanú položku hlavnej ponuky.
|
static void |
premiestniNaObrazovku()
Alias pre
premiestniNaZariadenie . |
static void |
premiestniNaObrazovku(int zariadenie)
Alias pre
premiestniNaZariadenie . |
static void |
premiestniNaZariadenie()
Umiestni okno sveta na predvolené zobrazovacie zariadenie.
|
static void |
premiestniNaZariadenie(int zariadenie)
Umiestni okno sveta na určené zobrazovacie zariadenie.
|
static void |
prenes(JFrame inéOkno)
Prenesie grafiku sveta do iného okna.
|
static void |
prenes(JFrame inéOkno,
boolean tam)
Prenesie grafiku sveta do iného okna alebo späť.
|
static double |
prepocitajSpatX(double x)
Alias pre
prepočítajSpäťX . |
static double |
prepocitajSpatY(double y)
Alias pre
prepočítajSpäťY . |
static double |
prepocitajX(double x)
Alias pre
prepočítajX . |
static double |
prepocitajY(double y)
Alias pre
prepočítajY . |
static double |
prepočítajSpäťX(double x)
Prepočíta zadanú x-ovú (horizontálnu) súradnicu zo súradnicového
priestoru používaného v oblasti 2D počítačovej grafiky do
súradnicového priestoru programovacieho rámca GRobot.
|
static double |
prepočítajSpäťY(double y)
Prepočíta zadanú y-ovú (vertikálnu) súradnicu zo súradnicového
priestoru používaného v oblasti 2D počítačovej grafiky do
súradnicového priestoru programovacieho rámca GRobot.
|
static double |
prepočítajX(double x)
Prepočíta zadanú x-ovú (horizontálnu) súradnicu zo súradnicového
priestoru programovacieho rámca GRobot do súradnicového priestoru
používaného v oblasti 2D počítačovej grafiky.
|
static double |
prepočítajY(double y)
Prepočíta zadanú y-ovú (vertikálnu) súradnicu zo súradnicového
priestoru programovacieho rámca GRobot do súradnicového priestoru
používaného v oblasti 2D počítačovej grafiky.
|
static void |
presmerujObsluhuUdalosti(ObsluhaUdalostí obsluha)
Alias pre
presmerujObsluhuUdalostí . |
static void |
presmerujObsluhuUdalostí(ObsluhaUdalostí obsluha)
Presmeruje spracovanie udalostí do inej inštancie triedy
ObsluhaUdalostí . |
static void |
presunNaObrazovku()
Alias pre
premiestniNaZariadenie . |
static void |
presuňNaObrazovku()
Alias pre
premiestniNaZariadenie . |
static void |
presunNaObrazovku(int zariadenie)
Alias pre
premiestniNaZariadenie . |
static void |
presuňNaObrazovku(int zariadenie)
Alias pre
premiestniNaZariadenie . |
static void |
presunNaZariadenie()
Alias pre
premiestniNaZariadenie . |
static void |
presuňNaZariadenie()
Alias pre
premiestniNaZariadenie . |
static void |
presunNaZariadenie(int zariadenie)
Alias pre
premiestniNaZariadenie . |
static void |
presuňNaZariadenie(int zariadenie)
Alias pre
premiestniNaZariadenie . |
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
Escape . |
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 |
pridajKlavesovuSkratkuVstupnehoRiadka(String príkaz,
int kódKlávesu,
int modifikátor)
Alias pre
pridajKlávesovúSkratkuVstupnéhoRiadka . |
static void |
pridajKlávesovúSkratkuVstupnéhoRiadka(String príkaz,
int kódKlávesu,
int modifikátor)
Definuje novú klávesovú skratku pre vstupný riadok, 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 PolozkaPonuky |
pridajPolozkuPonuky(String text)
Alias pre
pridajPoložkuPonuky . |
static PolozkaPonuky |
pridajPolozkuPonuky(String text,
int mnemonickáSkratka)
Alias pre
pridajPoložkuPonuky . |
static 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 PoložkaPonuky |
pridajPoložkuPonuky(String text)
Pridá do hlavnej ponuky položku so zadaným textom.
|
static PoložkaPonuky |
pridajPoložkuPonuky(String text,
int mnemonickáSkratka)
Funguje rovnako ako
pridajPoložkuPonuky(String text)
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 PoložkaPonuky |
pridajPoložkuPonuky(String text,
int mnemonickáSkratka,
int klávesováSkratka)
Funguje rovnako ako
pridajPoložkuPonuky(String text,
int mnemonickáSkratka) 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.“ Toto je
využiteľné keď sme ponuku vymazali
a chceme do nej pridať túto položku, ktorej funkcionalita je
vopred naprogramovaná.
|
static void |
pridajPoložkuPonukyPrekresliť()
Pridá do ponuky položku „Prekresliť.“ Položka je jednou
z preddefinovaných položiek, ktoré majú vopred definovanú
funkcionalitu.
|
static void |
pridajPoložkuPonukyVymazať()
Pridá do ponuky položku „Vymazať.“ Položka je jednou
z preddefinovaných položiek, ktoré majú vopred definovanú
funkcionalitu.
|
static void |
pridajVlnenie()
Pridá alebo zresetuje vlnenie sveta.
|
static void |
pridajVlnenie(boolean ajČasovač)
Pridá alebo zresetuje vlnenie sveta.
|
static void |
pridajVlnenie(int útlm)
Pridá alebo zresetuje vlnenie sveta.
|
static void |
pridajVlnenie(int útlm,
boolean ajČasovač)
Pridá alebo zresetuje vlnenie sveta.
|
static JMenu |
pridajVnorenuPonuku(String text,
JMenuItem... položky)
Alias pre
pridajVnorenúPonuku . |
static JMenu |
pridajVnorenúPonuku(String text,
JMenuItem... položky)
Vytvorí a pridá do hlavnej ponuky vnorenú ponuku zo zadaných
položiek.
|
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ú obrázky
prečítané.
|
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ť zdrojový priečinok čítania.
|
static String |
priečinokZvukov()
Vráti reťazec s aktuálnym priečinkom, z ktorého sú zvuky čítané.
|
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ť zdrojový priečinok čítania.
|
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 Bod |
priesecnikPriamkyAUsecky(double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Alias pre
priesečníkPriamkyAÚsečky . |
static Bod |
priesecnikPriamkyAUsecky(Poloha[] poleBodov)
Alias pre
priesečníkPriamkyAÚsečky . |
static Bod |
priesecnikPriamkyAUsecky(Poloha A,
Poloha B,
Poloha C,
Poloha D)
Alias pre
priesečníkPriamkyAÚsečky . |
static Bod |
priesecnikPriamok(double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Alias pre
priesečníkPriamok . |
static Bod |
priesecnikPriamok(Poloha[] poleBodov)
Alias pre
priesečníkPriamok . |
static Bod |
priesecnikPriamok(Poloha A,
Poloha B,
Poloha C,
Poloha D)
Alias pre
priesečníkPriamok . |
static Bod |
priesecnikUseciek(double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Alias pre
priesečníkÚsečiek . |
static Bod |
priesecnikUseciek(Poloha[] poleBodov)
Alias pre
priesečníkÚsečiek . |
static Bod |
priesecnikUseciek(Poloha A,
Poloha B,
Poloha C,
Poloha D)
Alias pre
priesečníkÚsečiek . |
static Bod[] |
priesecnikyKruznic(double x1,
double y1,
double r1,
double x2,
double y2,
double r2)
Alias pre
priesečníkyKružníc . |
static Bod[] |
priesecnikyKruznic(Poloha S1,
double r1,
Poloha S2,
double r2)
Alias pre
priesečníkyKružníc . |
static Bod[] |
priesecnikyPriamkyAKruznice(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double r)
Alias pre
priesečníkyPriamkyAKružnice . |
static Bod[] |
priesecnikyPriamkyAKruznice(Poloha A,
Poloha B,
Poloha S,
double r)
Alias pre
priesečníkyPriamkyAKružnice . |
static Bod[] |
priesecnikyUseckyAKruznice(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double r)
Alias pre
priesečníkyÚsečkyAKružnice . |
static Bod[] |
priesecnikyUseckyAKruznice(Poloha A,
Poloha B,
Poloha S,
double r)
Alias pre
priesečníkyÚsečkyAKružnice . |
static Bod |
priesečníkPriamkyAÚsečky(double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Hľadá priesečník priamky AB a úsečky CD.
|
static Bod |
priesečníkPriamkyAÚsečky(Poloha[] poleBodov)
Hľadá priesečník priamky AB a úsečky CD.
|
static Bod |
priesečníkPriamkyAÚsečky(Poloha A,
Poloha B,
Poloha C,
Poloha D)
Hľadá priesečník priamky AB a úsečky CD.
|
static Bod |
priesečníkPriamok(double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Hľadá priesečník dvoch priamok určených bodmi A, B a C, D.
|
static Bod |
priesečníkPriamok(Poloha[] poleBodov)
Hľadá priesečník dvoch priamok určených polohami bodov v poli
parametra.
|
static Bod |
priesečníkPriamok(Poloha A,
Poloha B,
Poloha C,
Poloha D)
Hľadá priesečník dvoch priamok určených bodmi A, B a C, D.
|
static Bod |
priesečníkÚsečiek(double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Hľadá priesečník dvoch úsečiek AB a CD.
|
static Bod |
priesečníkÚsečiek(Poloha[] poleBodov)
Hľadá priesečník dvoch úsečiek AB a CD.
|
static Bod |
priesečníkÚsečiek(Poloha A,
Poloha B,
Poloha C,
Poloha D)
Hľadá priesečník dvoch úsečiek AB a CD.
|
static Bod[] |
priesečníkyKružníc(double x1,
double y1,
double r1,
double x2,
double y2,
double r2)
Hľadá priesečníky dvoch kružníc určených súradnicami ich
stredov S1[x1, y1] a S2[x2, y2] a polomermi r1 a r2.
|
static Bod[] |
priesečníkyKružníc(Poloha S1,
double r1,
Poloha S2,
double r2)
Hľadá priesečníky dvoch kružníc určených polohami ich stredov
S1 a S2 a polomermi r1 a r2.
|
static Bod[] |
priesečníkyPriamkyAKružnice(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double r)
Hľadá priesečníky priamky AB a kružnice určenej súradnicami
stredu S a polomeru r.
|
static Bod[] |
priesečníkyPriamkyAKružnice(Poloha A,
Poloha B,
Poloha S,
double r)
Hľadá priesečníky priamky AB a kružnice určenej polohou
stredu S a polomeru r.
|
static Bod[] |
priesečníkyÚsečkyAKružnice(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double r)
Hľadá priesečníky úsečky AB a kružnice so stredom
S a polomerom r.
|
static Bod[] |
priesečníkyÚsečkyAKružnice(Poloha A,
Poloha B,
Poloha S,
double r)
Hľadá priesečníky úsečky AB a kružnice so stredom
S a polomerom r.
|
static void |
pripojTextVstupnehoRiadka(String naPripojenie)
Alias pre
pripojTextVstupnéhoRiadka . |
static void |
pripojTextVstupnéhoRiadka(String naPripojenie)
Pripojí zadaný text na koniec vstupného riadka.
|
static boolean |
prveSpustenie()
Alias pre
prvéSpustenie . |
static boolean |
prvéSpustenie()
Účelom tejto metódy je overiť, či pred spustením aplikácie
jestvoval konfiguračný súbor.
|
static void |
registrujRobot()
Registruje hlavný robot
v konfigurácii sveta.
|
static void |
registrujRobot(GRobot robot)
Registruje robot v konfigurácii.
|
static void |
registrujRobot(GRobot robot,
String meno)
Registruje robot v konfigurácii podľa zadaného mena.
|
static void |
registrujRobot(String meno)
Registruje robot v konfigurácii podľa jeho (vopred priradeného)
mena.
|
static void |
registrujRobota()
Alias pre
registrujRobot . |
static void |
registrujRobota(GRobot robot)
Alias pre
registrujRobot . |
static void |
registrujRobota(GRobot robot,
String meno)
Alias pre
registrujRobot . |
static void |
registrujRobota(String meno)
Alias pre
registrujRobot . |
static Skript |
registrujSkript(String názov,
List<String> skript)
Vyrobí zo zadaného zoznamu reťazcov nový skript, registruje
ho pod zadaným názvom a vráti ho na prípadné ďalšie spracovanie.
|
static Skript |
registrujSkript(String názov,
String skript)
Vyrobí zo zadaného reťazca nový skript, registruje ho pod
zadaným názvom a vráti ho na prípadné ďalšie spracovanie.
|
static Skript |
registrujSkript(String názov,
String[] skript)
Vyrobí zo zadaného reťazcového poľa nový skript, registruje
ho pod zadaným názvom a vráti ho na prípadné ďalšie spracovanie.
|
static void |
resetujRaster()
Zresetuje raster sveta – úplne vyčistí jeho obsah.
|
static Long |
retazecNaCeleCislo(String reťazec)
Alias pre
reťazecNaCeléČíslo . |
static Long |
reťazecNaCeléČíslo(String reťazec)
Pokúsi sa previesť zadaný reťazec na celé číslo.
|
static Double |
retazecNaRealneCislo(String reťazec)
Alias pre
reťazecNaReálneČíslo . |
static Double |
reťazecNaReálneČíslo(String reťazec)
Pokúsi sa previesť zadaný reťazec na reálne číslo.
|
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 void |
rezimLadenia(boolean zapniLadenie,
boolean vypíšChybovéHlásenia)
Alias pre
režimLadenia . |
static boolean |
režimLadenia()
Zistí, či je zapnutý režim ladenia programovacieho rámca
GRobot alebo aspoň výpis chybových hlásení programovacieho rámca.
|
static void |
režimLadenia(boolean zapniLadenie)
Zapne alebo vypne režim ladenia programovacieho rámca GRobot.
|
static void |
režimLadenia(boolean zapniLadenie,
boolean vypíšChybovéHlásenia)
Zapne alebo vypne režim ladenia programovacieho rámca GRobot so
spresnením zapnutia alebo vypnutia výpisu chybových hlásení
programovacieho rámca.
|
static int |
riadokPoslednejChyby()
Ak posledná chyba vznikla na konkrétnom riadku skriptu, tak táto metóda vráti
číslo tohto riadka.
|
static String |
rimskaNula()
Alias pre
rímskaNula . |
static String |
rímskaNula()
Vráti aktuálny reťazec nuly používaný pri
prevode z celých čísiel na
rímske.
|
static void |
rimskaNula(String rímskaNula)
Alias pre
rímskaNula . |
static void |
rímskaNula(String rímskaNula)
Nastaví hodnotu reťazca nuly používaného
pri prevode z celých čísiel na
rímske.
|
static long |
rimskeNaCele(String reťazec)
Alias pre
rímskeNaCelé . |
static Long |
rímskeNaCelé(String rímske)
Prevedie zadaný reťazec obsahujúci číslo reprezentované
v rímskej číselnej sústave na celé číslo.
|
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éY . |
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 long[] |
rozlozNaPrvocisla(long číslo)
Alias pre
rozložNaPrvočísla . |
static long[] |
rozložNaPrvočísla(long číslo)
Rozloží zadané celé číslo na prvočísla, ak je to možné.
|
static String |
S(Object... argumenty)
Táto metóda slúži na rýchly prevod rôznych objektov do
textovej podoby a ich zlúčenie do jedného reťazca.
|
static int |
sirka()
Alias pre
šírka . |
static int |
sirkaObrazka(String súbor)
Alias pre
šírkaObrázka . |
static int |
sirkaObrazovky()
Alias pre
šírkaZariadenia . |
static int |
sirkaObrazovky(int zariadenie)
Alias pre
šírkaZariadenia . |
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 |
skratkyPodlahy()
Overí, či sú zapnuté preddefinované skratky podlahy.
|
static void |
skratkyPodlahy(boolean zapnúť)
Zapne alebo vypne fungovanie niekoľkých predvolených skratiek
vnútornej konzoly podlahy.
|
static boolean |
skratkyStropu()
Overí, či sú zapnuté preddefinované skratky stropu.
|
static void |
skratkyStropu(boolean zapnúť)
Zapne alebo vypne fungovanie niekoľkých predvolených skratiek
vnútornej konzoly stropu.
|
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 |
smer(double súradnicaBoduX,
double súradnicaBoduY)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou
stredom súradncovej sústavy a zadaným bodom.
|
static double |
smer(double súradnicaBoduX1,
double súradnicaBoduY1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou
zadanými bodmi.
|
static double |
smer(double súradnicaBoduX1,
double súradnicaBoduY1,
Poloha objekt2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi
určenými zadanými súradnicami a polohou zadaného objektu.
|
static double |
smer(double súradnicaBoduX1,
double súradnicaBoduY1,
Shape tvar2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi
určenými zadanými súradnicami a stredom hraníc[1]
zadaného tvaru Javy.
|
static double |
smer(Poloha objekt)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou
stredom súradncovej sústavy a bodom určeným polohou zadaného
objektu.
|
static double |
smer(Poloha objekt1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi
určenými polohou zadaného objektu a zadanými súradnicami.
|
static double |
smer(Poloha objekt1,
Poloha objekt2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou
bodmi zadanými vo forme polôh objektov.
|
static double |
smer(Poloha objekt1,
Shape tvar2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi
určenými polohou zadaného objektu a stredom hraníc[1]
zadaného tvaru Javy.
|
static double |
smer(Shape tvar)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou
stredom súradncovej sústavy a bodom určeným polohou stredu
hraníc[1] zadaného tvaru.
|
static double |
smer(Shape tvar1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi
určenými stredom hraníc[1] zadaného tvaru Javy
a zadanými súradnicami.
|
static double |
smer(Shape tvar1,
Poloha objekt2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi
určenými stredom hraníc[1] zadaného tvaru Javy
a polohou zadaného objektu.
|
static double |
smer(Shape tvar1,
Shape tvar2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou
bodmi vypočítanými zo stredov hraníc[1] zadaných tvarov
Javy.
|
static void |
spi()
Zastaví aktivitu pravidelného generovania udalostí pohybu
kurzorom myšky, ktorá slúžila na to, aby sa zabránilo prechodu
počítača do režimu spánku.
|
static double |
spodnyOkraj()
Alias pre
spodnýOkraj . |
static double |
spodnýOkraj()
|
static void |
spracujPrikaz(String príkaz)
Alias pre
spracujPríkaz . |
static void |
spracujPríkaz(String príkaz)
Spracuje jeden príkaz príkazového riadka.
|
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 boolean |
spravaSystemovejIkony(String správa)
Alias pre
správaSystémovejIkony . |
static boolean |
správaSystémovejIkony(String správa)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadanú
správu.
|
static boolean |
spravaSystemovejIkony(String správa,
String titulok)
Alias pre
správaSystémovejIkony . |
static boolean |
správaSystémovejIkony(String správa,
String titulok)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadanú
správu s titulkom.
|
static void |
spustiCasomieru()
Alias pre
spustiČasomieru . |
static void |
spustiCasovac()
Alias pre
spustiČasovač . |
static void |
spustiCasovac(double čas)
Alias pre
spustiČasovač . |
static void |
spustiČasomieru()
Táto metóda „spustí“ časomieru.
|
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(List<String> skript)
Funguje podobne ako
vykonajSkript(skript) a principiálne pre neho platia rovnaké
pravidlá ako pre spustiSkript(skript) . |
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 boolean |
standardnyVstupAktivny()
Alias pre
štandardnýVstupAktívny . |
static Bod |
stredOtacaniaVyplne()
Alias pre
stredOtáčaniaVýplne . |
static void |
stredOtacaniaVyplne(double sx,
double sy)
Alias pre
stredOtáčaniaVýplne . |
static void |
stredOtacaniaVyplne(Poloha poloha)
Alias pre
stredOtáčaniaVýplne . |
static void |
stredOtacaniaVyplne(Shape tvar)
Alias pre
stredOtáčaniaVýplne . |
static void |
stredOtacaniaVyplneNaMys()
Alias pre
stredOtáčaniaVýplneNaMyš . |
static Bod |
stredOtáčaniaVýplne()
Vráti bod so súradnicami relatívneho posunutia stredu otáčania
obrázkových dlaždicových výplní vztiahnutý k súradniciam posunutia
výplne.
|
static void |
stredOtáčaniaVýplne(double sx,
double sy)
Nastaví nový relatívny stred otáčania obrázkových dlaždicových
výplní.
|
static void |
stredOtáčaniaVýplne(Poloha poloha)
Táto metóda funguje podobne ako metóda
stredOtáčaniaVýplne(sx, sy) . |
static void |
stredOtáčaniaVýplne(Shape tvar)
Táto metóda funguje podobne ako metóda
stredOtáčaniaVýplne(sx, sy) . |
static void |
stredOtáčaniaVýplneNaMyš()
Táto metóda číta súradnice myši, ktoré použije na nastavenie
nového relatívneho stredu otáčania obrázkových výplní.
|
static TrayIcon |
systemovaIkona()
Alias pre
systémováIkona . |
static TrayIcon |
systémováIkona()
Vráti objekt systémovej ikony sveta, ak je definovaná.
|
static boolean |
systemovaIkona(Image ikona,
String... položkyPonuky)
Alias pre
systémováIkona . |
static boolean |
systémováIkona(Image ikona,
String... položkyPonuky)
Definuje alebo aktualizuje ikonu v systémovej oblasti.
|
static boolean |
systemovaIkona(String popis,
Image ikona,
String... položkyPonuky)
Alias pre
systémováIkona . |
static boolean |
systémováIkona(String popis,
Image ikona,
String... položkyPonuky)
Definuje alebo aktualizuje systémovú ikonu nazývanú aj ikonou
v systémovej oblasti alebo v oblasti oznámení (angl. system
tray).
|
static boolean |
systemovaIkona(String popis,
String... položkyPonuky)
Alias pre
systémováIkona . |
static boolean |
systémováIkona(String popis,
String... položkyPonuky)
Aktualizuje jestvujúcu ikonu v systémovej oblasti.
|
static boolean |
systemovaIkonaZobrazena()
Alias pre
systémováIkonaZobrazená . |
static boolean |
systémováIkonaZobrazená()
Zistí, či je jestvujúca ikona v systémovej oblasti zobrazená.
|
static int |
šírka()
Zistí šírku plátien sveta.
|
static int |
šírkaObrázka(String súbor)
|
static int |
šírkaObrazovky()
Alias pre
šírkaZariadenia . |
static int |
šírkaObrazovky(int zariadenie)
Alias pre
šírkaZariadenia . |
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 |
štandardnýVstupAktívny()
Overí, či je štandardný vstup, ktorý bol aktivovaný metódou
aktivujŠtandardnýVstup (alebo
niektorou jej verziou) stále aktívny. |
static void |
tahajSubory(int ako,
String... súbory)
Alias pre
ťahajSúbory . |
static boolean |
ťahajSúbory(int ako,
String... súbory)
Vytvorí operáciu ťahania súborov.
|
static void |
tahajSubory(String... súbory)
Alias pre
ťahajSúbory . |
static boolean |
ťahajSúbory(String... súbory)
Vytvorí operáciu ťahania súborov.
|
static boolean |
textDoSchranky()
Alias pre
textyDoSchránky . |
static boolean |
textDoSchránky()
Alias pre
textyDoSchránky . |
static boolean |
textDoSchranky(boolean lenOznačené)
Alias pre
textyDoSchránky . |
static boolean |
textDoSchránky(boolean lenOznačené)
Alias pre
textyDoSchránky . |
static String |
textChyby(int kódChyby)
Vráti vysvetľujúci text ku kódu chyby určenej parametrom
kódChyby . |
static String |
textMenovky(String menovka)
Umožňuje overiť aktuálne definované znenie textu menovky
na niektorých paneloch volieb (pozri napríklad metódu
dialóg ). |
static void |
textMenovky(String menovka,
String text)
Umožňuje upraviť text menovky na niektorých paneloch volieb
(pozri napríklad metódu
dialóg ). |
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 |
textTlacidla(String tlačidlo)
Alias pre
textTlačidla . |
static void |
textTlacidla(String tlačidlo,
String text)
Alias pre
textTlačidla . |
static String |
textTlačidla(String tlačidlo)
Umožňuje overiť aktuálne definované znenie textu tlačidla
konkrétnej odpovede na otázku (pozri napríklad metódu
otázka ) alebo zadania/zmeny údaju (pozri
napríklad metódu zadajReťazec ). |
static void |
textTlačidla(String tlačidlo,
String text)
Umožňuje upraviť text tlačidla odpovede na otázku (pozri napríklad
metódu
otázka ) alebo zadania údaju (pozri
napríklad metódu zadajReťazec ). |
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 boolean |
textyDoSchranky(boolean lenOznačené)
Alias pre
textyDoSchránky . |
static boolean |
textyDoSchránky(boolean lenOznačené)
Vloží do schránky buď všetky texty vypísané na vnútorných
konzolách podlahy a stropu, alebo len označené časti –
v závislosti od hodnoty parametra
lenOznačené . |
static void |
tik()
Simuluje vykonanie reakcie na tik časovača.
|
static String |
titulok()
Vráti titulok hlavného okna aplikácie.
|
static void |
titulok(String titulok)
Nastaví titulok hlavného okna aplikácie.
|
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 double |
uhol(double súradnicaBoduX,
double súradnicaBoduY)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou stredom
súradncovej sústavy a zadaným bodom.
|
static double |
uhol(double súradnicaBoduX1,
double súradnicaBoduY1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou zadanými
bodmi.
|
static double |
uhol(double súradnicaBoduX1,
double súradnicaBoduY1,
Poloha objekt2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi
určenými zadanými súradnicami a polohou zadaného objektu.
|
static double |
uhol(double súradnicaBoduX1,
double súradnicaBoduY1,
Shape tvar2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi
určenými zadanými súradnicami a stredom hraníc[1]
zadaného tvaru Javy.
|
static double |
uhol(Poloha objekt)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou stredom
súradncovej sústavy a bodom určeným polohou zadaného objektu.
|
static double |
uhol(Poloha objekt1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi
určenými polohou zadaného objektu a zadanými súradnicami.
|
static double |
uhol(Poloha objekt1,
Poloha objekt2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi
zadanými vo forme polôh objektov.
|
static double |
uhol(Poloha objekt1,
Shape tvar2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi
určenými polohou zadaného objektu a stredom hraníc[1]
zadaného tvaru Javy.
|
static double |
uhol(Shape tvar)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou stredom
súradncovej sústavy a bodom určeným polohou stredu
hraníc[1] zadaného tvaru.
|
static double |
uhol(Shape tvar1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi
určenými stredom hraníc[1] zadaného tvaru Javy
a zadanými súradnicami.
|
static double |
uhol(Shape tvar1,
Poloha objekt2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi
určenými stredom hraníc[1] zadaného tvaru Javy
a polohou zadaného objektu.
|
static double |
uhol(Shape tvar1,
Shape tvar2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi
vypočítanými zo stredov hraníc[1] zadaných tvarov
Javy.
|
static void |
uchovajHistoriuVstupnehoRiadka()
Alias pre
uchovajHistóriuVstupnéhoRiadka . |
static void |
uchovajHistóriuVstupnéhoRiadka()
Aktivuje automatické uchovávanie potvrdených
vstupných riadkov do konfiguračného
súboru.
|
static boolean |
uchovavaSaHistoriaVstupnehoRiadka()
Alias pre
uchovávaSaHistóriaVstupnéhoRiadka . |
static boolean |
uchovávaSaHistóriaVstupnéhoRiadka()
Zistí, či je aktívne automatické uchovanie histórie
potvrdených vstupných riadkov do konfiguračného súboru.
|
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(long celéČíslo,
String výzva)
Alias pre
upravCeléČíslo . |
static Long |
upravCeleCislo(long celéČíslo,
String výzva,
String titulok)
Alias pre
upravCeléČíslo . |
static Long |
upravCeléČíslo(long 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(long 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 |
upravRozmeryPlatien(int šírka,
int výška)
Alias pre
zmeňRozmeryPlátien . |
static void |
upravRozmeryPlátien(int šírka,
int výška)
Alias pre
zmeňRozmeryPlátien . |
static void |
uspiCasovac()
Alias pre
uspiČasovač . |
static void |
uspiČasovač()
Uvedie časovač do „režimu spánku.“ Keď časovač spí, preskakuje
tiky, čiže sa zdá, ako keby nefungoval.
|
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 |
uvolni(Obrázok ktorý)
Alias pre
uvoľni . |
static void |
uvoľni(Obrázok ktorý)
Táto metóda slúži na odstránenie konkrétneho obrázka
z vnútorného zoznamu obrázkov.
|
static void |
uvolni(Plazma ktorá)
Alias pre
uvoľni . |
static void |
uvoľni(Plazma ktorá)
Táto metóda slúži na odstránenie konkrétnej inštancie
pixelového generátora plazmy z vnútorného zoznamu týchto
generátorov.
|
static void |
uvolni(String názovZdroja)
Alias pre
uvoľni . |
static void |
uvoľni(String názovZdroja)
Táto metóda slúži na odstránenie zdrojov (obrázkov a/alebo
zvukov) z vnútorných zoznamov zdrojov sveta.
|
static boolean |
uvolniMys()
Alias pre
uvoľniMyš . |
static boolean |
uvoľniMyš()
Zruší zachytenie kurzora myš v okne sveta.
|
static void |
vahaPreZvuky(double miera,
Object... súbory)
Alias pre
váhaPreZvuky |
static void |
váhaPreZvuky(double miera,
Object... súbory)
Nastaví hromadne stereová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 stereováhu pre všetky uvedené zvuky.
|
static void |
varovanie(String varovanie)
Zobrazí štandardný dialóg so zadanou textovou správou a ikonou
varovania.
|
static void |
varovanie(String varovanie,
String titulok)
Zobrazí štandardný dialóg so zadanou textovou správou a ikonou
varovania.
|
static boolean |
varovanieSystemovejIkony(String varovanie)
Alias pre
varovanieSystémovejIkony . |
static boolean |
varovanieSystémovejIkony(String varovanie)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané
varovné oznámenie.
|
static boolean |
varovanieSystemovejIkony(String varovanie,
String titulok)
Alias pre
varovanieSystémovejIkony . |
static boolean |
varovanieSystémovejIkony(String varovanie,
String titulok)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané
varovné oznámenie s titulkom.
|
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í aktuálnu šírku tzv. klientskej oblasti okna.
|
static int |
viditelnaVyska()
Alias pre
viditeľnáVýška . |
static int |
viditeľnáVýška()
Zistí viditeľnú výšku tzv. klientskej oblasti okna.
|
static boolean |
viditelny()
Alias pre
viditeľný . |
static boolean |
viditeľný()
Zistí, či je hlavné okno (svet) viditeľné.
|
static Vlnenie |
vlnenie()
Vráti inštanciu vlnenia sveta, aby s ňou
bolo možné ďalej pracovať.
|
static int |
volajSkript(String názov)
Spustí skript registrovaný vo vnútornej pamäti rámca pod zadaným menom.
|
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 má rovnaké jadro ako mechanizmus vykonávania
príkazov v interaktívnom režime a umožňuje používať príkazy, ktoré sú
dostupné v tomto režime aj za jeho hranicami (t. j. bez
nevyhnutnosti jeho aktivácie).
|
static int |
vykonajSkript(List<String> skript)
Vykoná skript zadaný vo forme parametrického zoznamu.
|
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ť prečítaný.
|
static void |
vykonatNeskor(Runnable vykonať)
Alias pre
vykonaťNeskôr . |
static void |
vykonatNeskor(Runnable vykonať,
boolean samostatnéVlákno)
Alias pre
vykonaťNeskôr . |
static void |
vykonaťNeskôr(Runnable vykonať)
Táto metóda slúži na zadanie príkazov Javy, ktoré majú byť
vykonané „neskôr“ – asynchrónne vzhľadom na reťaz čakajúcich
správ (udalostí) aktívneho vlákna.
|
static void |
vykonaťNeskôr(Runnable vykonať,
boolean samostatnéVlákno)
Táto metóda slúži na zadanie príkazov Javy, ktoré majú byť
vykonané „neskôr“ – pozri opis metódy
vykonaťNeskôr(vykonať) . |
static void |
vymaz()
Alias pre
vymaž . |
static void |
vymazGrafiku()
Alias pre
vymažGrafiku . |
static void |
vymazPonuku()
Alias pre
vymažPonuku . |
static void |
vymazPremennu(String názov,
Class<?> typ)
Alias pre
vymažPremennú . |
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žPremennú(String názov,
Class<?> typ)
Vymaže definíciu premennej zadaného údajového typu
interaktívneho režimu.
|
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 boolean |
vypisChybovychHlaseni()
Alias pre
výpisChybovýchHlásení . |
static boolean |
výpisChybovýchHlásení()
Zistí, či je zapnutý výpis chybových hlásení programovacieho
rámca.
|
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(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 void |
vypln(Image výplň)
Alias pre
vyplň . |
static void |
vyplň(Image výplň)
Vyplní podlahu zadanou textúrou.
|
static Farba |
vypln(int r,
int g,
int b)
Alias pre
vyplň . |
static Farba |
vyplň(int r,
int g,
int b)
Vyplní podlahu farbou zadanou prostredníctvom farebných zložiek.
|
static Farba |
vypln(int r,
int g,
int b,
int a)
Alias pre
vyplň . |
static 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(Shape tvar)
Alias pre
vyplň . |
static void |
vyplň(Shape tvar)
Táto metóda slúži na kreslenie vyplnených tvarov na podlahu.
|
static void |
vypln(Shape tvar,
GRobot kreslič)
Alias pre
vyplň . |
static void |
vyplň(Shape tvar,
GRobot kreslič)
Táto metóda slúži na kreslenie vyplnených tvarov na podlahu.
|
static void |
vypln(String súbor)
Alias pre
vyplň . |
static void |
vyplň(String súbor)
Vyplní podlahu zadanou textúrou.
|
static Skript |
vyrobSkript(List<String> skript)
Vyrobí zo zadaného zoznamu reťazcov reprezentujúcich riadky
skriptu nový skript a vráti ho v inštancii triedy
Skript na ďalšie spracovanie. |
static Skript |
vyrobSkript(String skript)
Vyrobí zo zadaného textového reťazca skript a vráti ho
v inštancii triedy
Skript na ďalšie spracovanie. |
static Skript |
vyrobSkript(String[] skript)
Vyrobí zo zadaného reťazcového poľa, ktorého prvky reprezentujú
riadky skriptu, nový skript a vráti ho na ďalšie spracovanie
v inštancii triedy
Skript . |
static Skript |
vyrobSkript(String skript,
boolean zoSúboru)
Vyrobí skript (zo zadaného textového reťazca alebo zo súboru)
a vráti ho v inštancii triedy
Skript na ďalšie
spracovanie. |
static int |
vyska()
Alias pre
šírka . |
static int |
vyskaObrazka(String súbor)
Alias pre
výškaObrázka . |
static int |
vyskaObrazovky()
Alias pre
výškaZariadenia . |
static int |
vyskaObrazovky(int zariadenie)
Alias pre
výškaZariadenia . |
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ýškaObrazovky()
Alias pre
výškaZariadenia . |
static int |
výškaObrazovky(int zariadenie)
Alias pre
výškaZariadenia . |
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 boolean |
vytlac(String súbor)
Alias pre
vytlač . |
static boolean |
vytlač(String súbor)
Ak je pre zadaný súbor asociovaný príkaz na tlač dokumentu,
tak otvorí prislúchajúci tlačový dialóg operačného systému,
pomocou ktorého bude možné súbor (dokument) vytlačiť.
|
static void |
vyzviRobotov()
Alias pre
vyzviRoboty . |
static void |
vyzviRobotov(int kľúč)
Alias pre
vyzviRoboty . |
static void |
vyzviRobotov(int kľúč,
boolean obrátene)
Alias pre
vyzviRoboty . |
static void |
vyzviRoboty()
Spustením tejto metódy sa pre každý robot (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 |
vyzviRoboty(int kľúč)
Spustením tejto metódy sa pre každý robot (podľa ich
aktuálneho poradia) vykoná reakcia
prijatieVýzvy bez určenia
autora výzvy (autor je rovný null ). |
static void |
vyzviRoboty(int kľúč,
boolean obrátene)
Spustením tejto metódy sa pre každý robot (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(double súradnicaBoduX1,
double súradnicaBoduY1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(double súradnicaBoduX1,
double súradnicaBoduY1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí vzájomnú vzdialenosť medzi bodmi so zadanými súradnicami.
|
static double |
vzdialenost(double súradnicaBoduX1,
double súradnicaBoduY1,
Poloha objekt2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(double súradnicaBoduX1,
double súradnicaBoduY1,
Poloha objekt2)
Zistí vzájomnú vzdialenosť medzi bodom so zadanými súradnicami
a zadaným objektom.
|
static double |
vzdialenost(double súradnicaBoduX1,
double súradnicaBoduY1,
Shape tvar2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(double súradnicaBoduX1,
double súradnicaBoduY1,
Shape tvar2)
Zistí vzájomnú vzdialenosť medzi bodom so zadanými súradnicami
a stredom hraníc[1] zadaného tvaru.
|
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(Poloha objekt1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(Poloha objekt1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí vzájomnú vzdialenosť zadaného objektu a bodu so zadanými
súradnicami.
|
static double |
vzdialenost(Poloha objekt1,
Poloha objekt2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(Poloha objekt1,
Poloha objekt2)
Zistí vzájomnú vzdialenosť zadaných objektov.
|
static double |
vzdialenost(Poloha objekt1,
Shape tvar2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(Poloha objekt1,
Shape tvar2)
Zistí vzájomnú vzdialenosť medzi zadaným objektom a stredom
hraníc[1] zadaného tvaru.
|
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 double |
vzdialenost(Shape tvar1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(Shape tvar1,
double súradnicaBoduX2,
double súradnicaBoduY2)
Zistí vzájomnú vzdialenosť stredu hraníc[1] zadaného
tvaru a bodu so zadanými súradnicami.
|
static double |
vzdialenost(Shape tvar1,
Poloha objekt2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(Shape tvar1,
Poloha objekt2)
Zistí vzájomnú vzdialenosť stredu hraníc[1] zadaného
tvaru a polohy zadaného objektu.
|
static double |
vzdialenost(Shape tvar1,
Shape tvar2)
Alias pre
vzdialenosť . |
static double |
vzdialenosť(Shape tvar1,
Shape tvar2)
Zistí vzájomnú vzdialenosť stredov hraníc[1] zadaných
tvarov.
|
static double |
vzdialenostBodov(double x1,
double y1,
double x2,
double y2)
Alias pre
vzdialenosťBodov . |
static double |
vzdialenosťBodov(double x1,
double y1,
double x2,
double y2)
Vypočíta vzdialenosť medzi dvomi bodmi so súradnicami [x1, y1]
a [x2, y2].
|
static double |
vzdialenostBodov(Poloha[] poleBodov)
Alias pre
vzdialenosťBodov . |
static double |
vzdialenosťBodov(Poloha[] poleBodov)
Vypočíta vzdialenosť medzi dvomi bodmi so súradnicami určenými
polohami bodov v poli parametra.
|
static double |
vzdialenostBodov(Poloha A,
Poloha B)
Alias pre
vzdialenosťBodov . |
static double |
vzdialenosťBodov(Poloha A,
Poloha B)
Vypočíta vzdialenosť medzi dvomi bodmi A a B.
|
static double |
vzdialenostBoduOdKruznice(double x0,
double y0,
double x1,
double y1,
double r)
Alias pre
vzdialenosťBoduOdKružnice . |
static double |
vzdialenostBoduOdKruznice(Poloha[] poleBodov,
double polomer)
Alias pre
vzdialenosťBoduOdKružnice . |
static double |
vzdialenostBoduOdKruznice(Poloha V,
Poloha S,
double r)
Alias pre
vzdialenosťBoduOdKružnice . |
static double |
vzdialenosťBoduOdKružnice(double x0,
double y0,
double x1,
double y1,
double r)
Vypočíta vzdialenosť od zadaného voľného bodu V ku kružnici
určenej stredom S a polomerom r.
|
static double |
vzdialenosťBoduOdKružnice(Poloha[] poleBodov,
double polomer)
Vypočíta vzdialenosť medzi voľným bodom V a kružnicou, ktorá
je určená stredom S a polomerom r, pričom body V a S sú prvkami
poľa
poleBodov a r je uložený v parametri polomer ). |
static double |
vzdialenosťBoduOdKružnice(Poloha V,
Poloha S,
double r)
Vypočíta vzdialenosť od zadaného voľného bodu V ku kružnici
určenej stredom S a polomerom r.
|
static double |
vzdialenostBoduOdPriamky(double x0,
double y0,
double x1,
double y1,
double x2,
double y2)
Alias pre
vzdialenosťBoduOdPriamky . |
static double |
vzdialenosťBoduOdPriamky(double x0,
double y0,
double x1,
double y1,
double x2,
double y2)
Vypočíta vzdialenosť od zadaného voľného bodu V[x0, y0]
k priamke určenej dvomi bodmi A[x1, y1] a B[x2, y2].
|
static double |
vzdialenostBoduOdPriamky(Poloha[] poleBodov)
Alias pre
vzdialenosťBoduOdPriamky . |
static double |
vzdialenosťBoduOdPriamky(Poloha[] poleBodov)
Vypočíta vzdialenosť medzi voľným bodom a priamkou, ktoré
sú určené určenými polohami bodov v poli parametra.
|
static double |
vzdialenostBoduOdPriamky(Poloha V,
Poloha A,
Poloha B)
Alias pre
vzdialenosťBoduOdPriamky . |
static double |
vzdialenosťBoduOdPriamky(Poloha V,
Poloha A,
Poloha B)
Vypočíta vzdialenosť od zadaného voľného bodu V k priamke AB.
|
static double |
vzdialenostBoduOdUsecky(double x0,
double y0,
double x1,
double y1,
double x2,
double y2)
Alias pre
vzdialenosťBoduOdÚsečky . |
static double |
vzdialenostBoduOdUsecky(Poloha[] poleBodov)
Alias pre
vzdialenosťBoduOdÚsečky . |
static double |
vzdialenostBoduOdUsecky(Poloha V,
Poloha A,
Poloha B)
Alias pre
vzdialenosťBoduOdÚsečky . |
static double |
vzdialenosťBoduOdÚsečky(double x0,
double y0,
double x1,
double y1,
double x2,
double y2)
Vypočíta vzdialenosť od zadaného voľného bodu V[x0, y0]
k úsečke určenej dvomi bodmi A[x1, y1] a B[x2, y2].
|
static double |
vzdialenosťBoduOdÚsečky(Poloha[] poleBodov)
Vypočíta vzdialenosť medzi voľným bodom V a úsečkou AB, ktoré
sú určené polohami bodov v poli parametra
poleBodov . |
static double |
vzdialenosťBoduOdÚsečky(Poloha V,
Poloha A,
Poloha B)
Vypočíta vzdialenosť od zadaného voľného bodu V k úsečke AB.
|
static double |
vzdialenostKruznic(double x1,
double y1,
double r1,
double x2,
double y2,
double r2)
Alias pre
vzdialenosťKružníc . |
static double |
vzdialenostKruznic(Poloha[] poleBodov,
double polomer1,
double polomer2)
Alias pre
vzdialenosťKružníc . |
static double |
vzdialenostKruznic(Poloha S1,
double r1,
Poloha S2,
double r2)
Alias pre
vzdialenosťKružníc . |
static double |
vzdialenosťKružníc(double x1,
double y1,
double r1,
double x2,
double y2,
double r2)
Vypočíta vzdialenosť medzi dvomi kružnicami, ktoré sú určené
svojími stredmi (S1, S2) a polomermi (r1, r2).
|
static double |
vzdialenosťKružníc(Poloha[] poleBodov,
double polomer1,
double polomer2)
Vypočíta vzdialenosť medzi dvomi kružnicami určenými stredmi
S1 a S2 a polomermi r1 a r2, pričom stredy S1 a S2 sú prvkami
poľa
poleBodov . |
static double |
vzdialenosťKružníc(Poloha S1,
double r1,
Poloha S2,
double r2)
Vypočíta vzdialenosť medzi dvomi kružnicami, ktoré sú určené
svojími stredmi (S1, S2) a polomermi (r1, r2).
|
static double |
vzdialenostPriamkyOdKruznice(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double r)
Alias pre
vzdialenosťPriamkyOdKružnice . |
static double |
vzdialenostPriamkyOdKruznice(Poloha[] poleBodov,
double r)
Alias pre
vzdialenosťPriamkyOdKružnice . |
static double |
vzdialenostPriamkyOdKruznice(Poloha A,
Poloha B,
Poloha S,
double r)
Alias pre
vzdialenosťPriamkyOdKružnice . |
static double |
vzdialenosťPriamkyOdKružnice(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double r)
Vypočíta vzdialenosť medzi určenou priamkou a kružnicou.
|
static double |
vzdialenosťPriamkyOdKružnice(Poloha[] poleBodov,
double r)
Vypočíta vzdialenosť medzi určenou priamkou AB a kružnicou
so stredom S a polomerom r, pričom body A, B a stred S sú určené
prvkami poľa
poleBodov . |
static double |
vzdialenosťPriamkyOdKružnice(Poloha A,
Poloha B,
Poloha S,
double r)
Vypočíta vzdialenosť medzi určenou priamkou AB a kružnicou
so stredom S a polomerom r.
|
static double |
vzdialenostUseciek(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double x4,
double y4)
Alias pre
vzdialenosťÚsečiek . |
static double |
vzdialenostUseciek(Poloha[] poleBodov)
Alias pre
vzdialenosťÚsečiek . |
static double |
vzdialenostUseciek(Poloha A,
Poloha B,
Poloha C,
Poloha D)
Alias pre
vzdialenosťÚsečiek . |
static double |
vzdialenostUseckyOdKruznice(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double r)
Alias pre
vzdialenosťÚsečkyOdKružnice . |
static double |
vzdialenostUseckyOdKruznice(Poloha[] poleBodov,
double r)
Alias pre
vzdialenosťÚsečkyOdKružnice . |
static double |
vzdialenostUseckyOdKruznice(Poloha A,
Poloha B,
Poloha S,
double r)
Alias pre
vzdialenosťÚsečkyOdKružnice . |
static double |
vzdialenosťÚsečiek(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double x4,
double y4)
Vypočíta vzdialenosť medzi dvomi úsečkami AB a CD.
|
static double |
vzdialenosťÚsečiek(Poloha[] poleBodov)
Vypočíta vzdialenosť medzi dvomi úsečkami AB a CD, pričom
ich určujúce body sú prvkami poľa
poleBodov . |
static double |
vzdialenosťÚsečiek(Poloha A,
Poloha B,
Poloha C,
Poloha D)
Vypočíta vzdialenosť medzi dvomi úsečkami AB a CD.
|
static double |
vzdialenosťÚsečkyOdKružnice(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double r)
Vypočíta vzdialenosť medzi určenou úsečkou a kružnicou.
|
static double |
vzdialenosťÚsečkyOdKružnice(Poloha[] poleBodov,
double r)
Vypočíta vzdialenosť medzi určenou úsečkou AB a kružnicou
so stredom S a polomerom r, pričom body A, B a stred S sú určené
prvkami poľa
poleBodov . |
static double |
vzdialenosťÚsečkyOdKružnice(Poloha A,
Poloha B,
Poloha S,
double r)
Vypočíta vzdialenosť medzi určenou úsečkou AB a kružnicou
so stredom S a polomerom r.
|
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 Long |
zadajCeleCislo(String výzva)
Alias pre
zadajCeléČíslo . |
static Long |
zadajCeleCislo(String výzva,
String titulok)
Alias pre
zadajCeléČíslo . |
static Long |
zadajCeléČí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 |
zadajCeléČí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 |
zadajHeslo(String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie hesla.
|
static String |
zadajHeslo(String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie hesla.
|
static Double |
zadajRealneCislo(String výzva)
Alias pre
zadajReálneČíslo . |
static Double |
zadajRealneCislo(String výzva,
String titulok)
Alias pre
zadajReálneČíslo . |
static Double |
zadajReá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 |
zadajReá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 |
zadajRetazec(String výzva)
Alias pre
zadajReťazec . |
static String |
zadajReťazec(String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie údajov.
|
static String |
zadajRetazec(String výzva,
String titulok)
Alias pre
zadajReťazec . |
static String |
zadajReťazec(String výzva,
String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na
zadanie údajov.
|
static boolean |
zachytMys()
Alias pre
zachyťMyš . |
static boolean |
zachyťMyš()
Zachytí kurzor myši v okne sveta.
|
static boolean |
zalamujeTexty()
|
static void |
zalamujTexty()
Zapne zalamovanie textov vnútornej konzoly stropu.
|
static void |
zalamujTexty(boolean zalamuj)
|
static double |
zaokruhli(double hodnota,
int miest)
Alias pre
zaokrúhli . |
static double |
zaokrúhli(double hodnota,
int miest)
Zaokrúhli zadané číslo na zadaný počet (desatinných) miest.
|
static boolean |
zapisPremennu(String názov,
Object hodnota)
Alias pre
zapíšPremennú . |
static boolean |
zapíšPremennú(String názov,
Object hodnota)
Nastaví novú hodnotu premennej
interaktívneho režimu.
|
static double |
zastavCasomieru()
Alias pre
zastavČasomieru . |
static void |
zastavCasovac()
Alias pre
zastavČasovač . |
static double |
zastavČasomieru()
Táto metóda „zastaví“ časomieru a vráti výsledok merania
v sekundách.
|
static void |
zastavČasovač()
Zastaví časovač, ktorý bol spustený metódou
spustiČasovač . |
static void |
zastavTon()
Alias pre
zastavTón . |
static void |
zastavTón()
Okamžite zastaví prehrávanie generovaného harmonického signálu
a vyčistí vnútorný zoznam tónov naplánovaných na prehranie.
|
static void |
zastavZvuky(Object... súbory)
Zastaví všetky uvedené zvuky.
|
static void |
zastavZvuky(String[] súbory)
Zastaví všetky uvedené zvuky.
|
static void |
zavriet()
Alias pre
zavrieť . |
static void |
zavrieť()
Vygeneruje udalosť zavretia hlavného okna.
|
static boolean |
zavriSuborNaUlozenieTonu()
Alias pre
zavriSúborNaUloženieTónu . |
static boolean |
zavriSúborNaUloženieTónu()
Ukončí záznam generovaných tónov, ktorý bol začatý volaním
niektorej verzie metódy
otvorSúborNaUloženieTónu . |
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 |
ziadajPrekreslenie()
Alias pre
žiadajPrekreslenie . |
static int |
zistiZariadenieOkna()
Zistí číslo zariadenia, na ktorom sa nachádza okno sveta.
|
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(Image predloha,
double x,
double y,
String meno)
Alias pre
zmeňNovýKurzorMyši . |
static void |
zmenNovyKurzorMysi(Image predloha,
int x,
int y,
String meno)
Alias pre
zmeňNovýKurzorMyši . |
static void |
zmeňNovýKurzorMyši(Image predloha,
double x,
double y,
String meno)
Alias pre
zmeňNovýKurzorMyši . |
static void |
zmeňNovýKurzorMyši(Image predloha,
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 |
zmenRozmeryPlatien(int šírka,
int výška)
Alias pre
zmeňRozmeryPlátien . |
static void |
zmeňRozmeryPlátien(int šírka,
int výška)
Upraví rozmery plátna sveta, podlahy a stropu, čo je komplexný
proces, preto by mal byť vykonaný len vo výnimočných prípadoch!
|
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 boolean |
zobrazSystemovuIkonu(boolean zobraz)
Alias pre
zobrazSystémovúIkonu . |
static boolean |
zobrazSystémovúIkonu(boolean zobraz)
Zobrazí alebo skryje jestvujúcu ikonu v systémovej oblasti.
|
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 prečítaným zo súboru.
|
static void |
zobudCasovac()
Alias pre
prebuďČasovač . |
static void |
zobuďČasovač()
Alias pre
prebuďČasovač . |
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 , .au alebo
.mp3 ). |
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 , .au alebo .mp3 ). |
static void |
žiadajPrekreslenie()
Nastaví vnútorný príznak (stav) prekreslenia sveta tak, aby metóda
nebolPrekreslený vrátila hodnotu
true . |
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, addInputMethodListener, 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, getInputMethodListeners, getInputMethodRequests, 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, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, 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 boolean zmenaLAF
Tento špeciálny atribút je predvolene nastavený na
true
. Vtedy rámec pri inicializácii sveta a/alebo
okien vykonáva zmenu vzhľadu (Look and Feel – LAF) na
systémovú schému. Keď je však vopred nastavený na
false
rámec tieto zmeny nebude vykonávať.
public static final DecimalFormat formát
Inštancia triedy DecimalFormat
slúžiaca na
formátovanie číselných výstupov. Úpravou vlastností tejto inštancie
je možné dosiahnuť zmenu spôsobu formátovania celých a reálnych
čísiel na výstupe (konzolovom alebo pri použití metódy
F
). Niektoré vlastnosti tejto
inštancie sú použité aj na úpravu formátu čísiel zadávaných
vstupnými prvkami (dialógmi alebo vstupným riadkom).
oddeľovačPrvkovPoľa(String)
,
oddeľovačDesatinnejČasti(char)
,
oddeľovačTisícov(Character)
,
zadajCeléČíslo(String)
,
zadajReálneČíslo(String)
,
upravCeléČíslo(long, String)
,
upravReálneČíslo(double, String)
,
prevezmiCeléČíslo()
,
prevezmiReálneČíslo()
,
vypíš(Object[])
,
F(double, int)
,
F(double, int, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static final DecimalFormat format
Alias pre formát
.
public static SVGPodpora svgExport
Atribút na podporu exportu kreslenia robotov do zadanej
inštancie SVGPodpora
. Tento atribút je
statický! (Na rozdiel od rovnomenného atribútu v triede
GRobot
– pozri GRobot.svgExport
.) To znamená, že správanie, ktoré sprostredkúva
bude spoločné pre celý svet = všetky roboty.
Predvolená hodnota tohto atribútu je null
. Keď je
do neho vložená ľubovoľná inštancia triedy SVGPodpora
, tak sa pred každým prekreslením sveta skontrolujú
všetky v nej obsiahnuté tvary a vymažú sa tie, ktoré boli vložené
dôsledkom kreslenia vlastných
alebo predvolených tvarov
robotov. Tým sa zamedzí ich lineárnemu hromadeniu v zadanej
inštancii SVG podpory.
Keďže tento atribút nie je zoznamom, predpokladá sa, že všetky
viditeľné roboty s nastavenou inštananciou svgExport
(ktorých kreslené tvary sú do tejto inštancie
automaticky pridávané pri každom prekreslení sveta) budú mať na
export nastavenú tú istú inštanciu SVG
podpory, napríklad predvolenú statickú inštanciu svgPodpora
triedy GRobot
.
GRobot.svgExport
public static Svet.PrikazovyRiadok príkazovýRiadok
Inštancia triedy PríkazovýRiadok
slúžiaca na komunikáciu s príkazovým prostredím operačného
systému.
public static Svet.PrikazovyRiadok prikazovyRiadok
Alias pre príkazovýRiadok
.
public static ZmenaCelejObrazovky zmenaCelejObrazovky
Hodnota tohto atribútu môže obsahovať vlastnú implementáciu
spôsobu zmeny režimu celej obrazovky. (Predvolený spôsob je
hardvérový – pozri aj ZmenaCelejObrazovky
.
hardvérová
.)
public static void zavrieť()
Vygeneruje udalosť zavretia hlavného okna. Ak nie je zavretie
odmietnuté žiadnou z reakcií na zavretie okna (pozri napríklad
ObsluhaUdalostí
.
zavretie
()
), tak bude aplikácia
ukončená.
koniec()
public static void zavriet()
Alias pre zavrieť
.
public static int verzia(int hlavná, int vedľajšia)
Porovná aktuálnu verziu robota so zadanou.
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()
Vráti hlavný robot. Hlavný robot je predvolene prvý vytvorený robot. Tento robot je považovaný za vlastníka sveta. On asistuje pri vytvorení okna aplikácie, pomocou neho sú spracované niektoré úlohy… O svoje privilégium by mohol prísť jedine v prípade, že by bol (pravdepodobne omylom) uvoľnený. V takom prípade by bol nahradený najbližším definovaným robotom s posunutím všetkých privilégií jemu. Problém by mohol nastať, keby nebol k dispozícii žiadny ďalší robot, ktorý by ho nahradil.
public static GRobot hlavnyRobot()
Alias pre hlavnýRobot
.
public static void vyzviRoboty()
Spustením tejto metódy sa pre každý robot (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
. 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, tak bude posielanie výziev z technických príčin opätovne spustené (inak povedané – posielanie výziev sa „reštartuje“). To znamená, že niektoré roboty 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: 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).
Príklad použitia mechanizmu výziev je napríklad
v opise metódy mimoHraníc
.
public static void vyzviRobotov()
Alias pre vyzviRoboty
.
public static void vyzviRoboty(int kľúč)
Spustením tejto metódy sa pre každý robot (podľa ich
aktuálneho poradia) vykoná reakcia prijatieVýzvy
bez určenia
autora výzvy (autor je rovný null
). S 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, tak bude posielanie výziev z technických príčin opätovne spustené (inak povedané – posielanie výziev sa „reštartuje“). To znamená, že niektoré roboty 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: 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).
Príklad použitia mechanizmu výziev je napríklad
v opise metódy mimoHraníc
.
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
GRobot.prijatieVýzvy(GRobot, int)
,
vyzviRoboty()
,
vyzviRoboty(int, boolean)
,
GRobot.vyzviRoboty(int)
public static void vyzviRobotov(int kľúč)
Alias pre vyzviRoboty
.
public static void vyzviRoboty(int kľúč, boolean obrátene)
Spustením tejto metódy sa pre každý robot (podľa ich
aktuálneho poradia) vykoná reakcia prijatieVýzvy
bez určenia
autora výzvy (autor je rovný null
). S 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ď
naposledy 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 vyzviRoboty(int kľúč)
.
Poznámka: Ak je poradie robotov zmenené počas spracovania výzviev, tak bude posielanie výziev z technických príčin opätovne spustené (inak povedané – posielanie výziev sa „reštartuje“). To znamená, že niektoré roboty 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: 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).
Príklad použitia mechanizmu výziev je napríklad
v opise metódy mimoHraníc
.
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 vyzviRoboty(int kľúč)
GRobot.prijatieVýzvy(GRobot, int)
,
vyzviRoboty()
,
vyzviRoboty(int)
,
GRobot.vyzviRoboty(int, boolean)
public static void vyzviRobotov(int kľúč, boolean obrátene)
Alias pre vyzviRoboty
.
public static double najmenšieX()
Zistí najmenšiu x-ovú súradnicu sveta. Plátna podlahy a stropu majú obmedzenú veľkosť, ktorá je o niečo väčšia ako predvolená veľkosť okna aplikácie.
najväčšieX()
,
najmenšieY()
,
najväčšieY()
public static double najmensieX()
Alias pre najmenšieX
.
public static double minimálneX()
Alias pre najmenšieX
.
public static double minimalneX()
Alias pre najmenšieX
.
public static double najmenšieY()
Zistí najmenšiu y-ovú súradnicu sveta. Plátna podlahy a stropu majú obmedzenú veľkosť, ktorá je o niečo väčšia ako predvolená veľkosť okna aplikácie.
najmenšieX()
,
najväčšieX()
,
najväčšieY()
public static double najmensieY()
Alias pre najmenšieY
.
public static double minimálneY()
Alias pre najmenšieY
.
public static double minimalneY()
Alias pre najmenšieY
.
public static double najväčšieX()
Zistí najväčšiu x-ovú súradnicu sveta. Plátna podlahy a stropu majú obmedzenú veľkosť, ktorá je o niečo väčšia ako predvolená veľkosť okna aplikácie.
najmenšieX()
,
najmenšieY()
,
najväčšieY()
public static double najvacsieX()
Alias pre najväčšieX
.
public static double maximálneX()
Alias pre najväčšieX
.
public static double maximalneX()
Alias pre najväčšieX
.
public static double najväčšieY()
Zistí najväčšiu y-ovú súradnicu sveta. Plátna podlahy a stropu majú obmedzenú veľkosť, ktorá je o niečo väčšia ako predvolená veľkosť okna aplikácie.
najmenšieX()
,
najväčšieX()
,
najmenšieY()
public static double najvacsieY()
Alias pre najväčšieY
.
public static double maximálneY()
Alias pre najväčšieY
.
public static double maximalneY()
Alias pre najväčšieY
.
public static int šírka()
Zistí šírku plátien sveta.
public static int sirka()
Alias pre šírka
.
public static int výška()
Zistí výšku plátien sveta.
public static int vyska()
Alias pre šírka
.
public static int viditeľnáŠírka()
Zistí aktuálnu šírku tzv. klientskej oblasti okna. Ide o viditeľnú časť komponentu okna zahŕňajúceho obvykle šedú plochu s predvolene bielou kresliacou oblasťou a prípadne ďalšími komponentmi (vstupným riadkom, tlačidlami…). Ak je okno užšie, než sú rozmery plátien sveta, tak ide v podstate o viditeľnú šírku plátien.
public static int viditelnaSirka()
Alias pre viditeľnáŠírka
.
public static int viditeľnáVýška()
Zistí viditeľnú výšku tzv. klientskej oblasti okna. Pozri aj
opis metódy viditeľnáŠírka()
– rovnaké
informácie platia aj pre túto metódu
(viditeľnáVýška
).
public static int viditelnaVyska()
Alias pre viditeľnáVýška
.
public static int šírkaOkna()
Zistí šírku hlavného okna aplikácie.
public static int sirkaOkna()
Alias pre šírkaOkna
.
public static int výškaOkna()
Zistí výšku hlavného okna aplikácie.
public static int vyskaOkna()
Alias pre výškaOkna
.
public static String titulok()
Vráti titulok hlavného okna aplikácie. Ak metóda zistí, že
aktuálny titulok sa zhoduje s predvoleným titulkom (prípadne ak
hlavné okno ešte nejestvuje), tak vráti hodnotu
null
.
null
public static void titulok(String titulok)
Nastaví titulok hlavného okna aplikácie. Ak je zadaná hodnota
null
, tak metóda nastaví predvolený titulok okna.
titulok
– nový titulok hlavného okna aplikácie alebo
null
na nastavenie predvoleného titulku oknapublic static double ľavýOkraj()
pravýOkraj()
,
spodnýOkraj()
,
vrchnýOkraj()
public static double lavyOkraj()
Alias pre ľavýOkraj
.
public static double spodnýOkraj()
ľavýOkraj()
,
pravýOkraj()
,
vrchnýOkraj()
public static double spodnyOkraj()
Alias pre spodnýOkraj
.
public static double dolnýOkraj()
Alias pre spodnýOkraj
.
public static double dolnyOkraj()
Alias pre dolnýOkraj
.
public static double pravýOkraj()
ľavýOkraj()
,
spodnýOkraj()
,
vrchnýOkraj()
public static double pravyOkraj()
Alias pre pravýOkraj
.
public static double vrchnýOkraj()
ľavýOkraj()
,
pravýOkraj()
,
spodnýOkraj()
public static double vrchnyOkraj()
Alias pre vrchnýOkraj
.
public static double hornýOkraj()
Alias pre vrchnýOkraj
.
public static double hornyOkraj()
Alias pre hornýOkraj
.
public static void zmeňRozmeryPlátien(int šírka, int výška)
Upraví rozmery plátna sveta, podlahy a stropu, čo je komplexný
proces, preto by mal byť vykonaný len vo výnimočných prípadoch!
Tento proces má za následok prebudovanie grafických objektov sveta,
stropu a podlahy (čo má za následok vymazanie ich grafického
obsahu), ich opätovné priradenie grafickým robotom, aktualizáciu
umiestnenia komponentov sveta (tlačidiel – pozri triedu
Tlačidlo
), zrušenie úprav textov (pozri metódu
upravText
), odstránenie
prípadných definovaných inštancií vlnenia
oboch plátien aj sveta (pretože sa menia ich rozmery; prípadné
definované vlnenia obrázkov zostanú zachované), prepočet niektorých
ďalších vnútorných parametrov a úpravu súradnicových systémov
všetkých obrázkov programovacieho rámca.
šírka
– nová šírka plátienvýška
– nová výška plátienGRobot.GRobot(int, int)
,
GRobot.GRobot(int, int, String)
public static void zmenRozmeryPlatien(int šírka, int výška)
Alias pre zmeňRozmeryPlátien
.
public static void upravRozmeryPlátien(int šírka, int výška)
Alias pre zmeňRozmeryPlátien
.
public static void upravRozmeryPlatien(int šírka, int výška)
Alias pre zmeňRozmeryPlátien
.
public static boolean viditeľný()
Zistí, či je hlavné okno (svet) viditeľné. Ak okno sveta ešte
nebolo inicializované (to platí v prípade, keď ešte nebola
vytvorená ani jedna inštancia robota, to znamená, že nejestvuje
hlavný robot), metóda informuje o tom, či bude okno zobrazené hneď
po inicializácii. (Ak nie, znamená to, že sme volali metódu
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
– niezobrazený()
,
zobraz()
,
skry()
public static boolean viditelny()
Alias pre viditeľný
.
public static boolean zobrazený()
Zistí, či je hlavné okno (svet) viditeľné. Ak okno sveta ešte
nebolo inicializované (to platí v prípade, keď ešte nebola
vytvorená ani jedna inštancia robota, to znamená, že nejestvuje
hlavný robot), metóda informuje o tom, či bude okno zobrazené hneď
po inicializácii. (Ak nie, znamená to, že sme volali metódu
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
– nieviditeľný()
,
zobraz()
,
skry()
public static boolean zobrazeny()
Alias pre zobrazený
.
public static void skry()
Skryje hlavné okno. Zároveň spôsobí, že okno sveta nebude
automaticky zobrazené pri štarte. Aplikácia sa môže inicializovať
a potom zobraziť hlavné okno metódou zobraz
.
zobraz()
,
viditeľný()
,
zobrazený()
public static void zobraz()
Zobrazí hlavné okno (svet). Metóda je protikladom metódy
skry
.
skry()
,
viditeľný()
,
zobrazený()
public static void upevni()
Upevní hlavné okno (svet) – okno bude mať pevnú veľkosť. Opakom
je metóda uvoľni
. Veľkosť okna nemá vplyv na
veľkosti plátien podlahy a stropu. Tie je v súčasnej verzii
programovacieho rámca možné upraviť konštruktorom hlavného robota (čo je historicky starší spôsob –
pozri aj konštruktor GRobot.GRobot(int, int)
) alebo volaním
metódy zmeňRozmeryPlátien
.
public static void uvoľni()
Uvoľní hlavné okno (svet) – okno nebude mať pevnú veľkosť
(predvolené správanie sveta). Opakom je metóda upevni
. Veľkosť okna nemá vplyv na veľkosti plátien podlahy
a stropu. Tie je v súčasnej verzii programovacieho rámca možné
upraviť konštruktorom hlavného robota
(čo je historicky starší spôsob – pozri aj konštruktor
GRobot.GRobot(int, int)
) alebo volaním metódy
zmeňRozmeryPlátien
.
Poznámka: Názov uvoľni
má v programovacom rámci GRobot deväť 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
)
,
Svet
.
uvoľni
(
Plazma
)
Svet
.
uvoľni
(
Obrázok
)
a Svet
.
uvoľni
(
String
)
–
slúžia na uvoľňovanie nepotrebných inštancií robotov,
vytvorených alebo prečítaných obrázkov a prečítaných zvukov
z vnútorných zoznamov zdrojov (robotov, obrázkov, zvukov), čo
je jednak nevyhnutnou podmienkou ich úspešného vymazania
z pamäte zberačom odpadkov Javy a jednak to môže byť niekedy
potrebné (napríklad ak sa obsah súboru so zdrojom uloženým na
disku zmenil).
public static void uvolni()
Alias pre uvoľni
.
public static void zbaľ()
Prispôsobí veľkosť okna tak, aby sa do neho pohodlne vošli všetky viditeľné komponenty.
public static void zbal()
Alias pre zbaľ
.
public static void vystreď()
Presunie okno tak, aby sa nachádzalo v strede obrazovky.
public static void vystred()
Alias pre vystreď
.
public static void premiestniNaZariadenie(int zariadenie)
Umiestni okno sveta na určené zobrazovacie zariadenie. Zariadenie je určené jeho „poradovým číslom“ (indexom; čiže nula označuje prvé zariadenie). Okno je umiestnené tak, aby bola na určenom zariadení viditeľná celá jeho plocha, ak to rozmery okna dovoľujú. Ak je okno väčšie, než sú rozmery zariadenia, tak je umiestnené do ľavého horného rohu zariadenia. Ak zariadenie so zadaným indexom nejestvuje, tak nie je vykonaná žiadna operácia.
zariadenie
– číslo zariadenia, na ktoré má byť
okno umiestnenépočetZariadení()
,
premiestniNaZariadenie()
,
zistiZariadenieOkna()
public static void premiestniNaZariadenie()
Umiestni okno sveta na predvolené zobrazovacie zariadenie. Okno je umiestnené tak, aby bola viditeľná celá jeho plocha, ak to jeho rozmery dovoľujú. Ak je okno väčšie, než sú rozmery zariadenia, tak je umiestnené do ľavého horného rohu.
početZariadení()
,
premiestniNaZariadenie(int)
,
zistiZariadenieOkna()
public static void premiestniNaObrazovku(int zariadenie)
Alias pre premiestniNaZariadenie
.
public static void premiestniNaObrazovku()
Alias pre premiestniNaZariadenie
.
public static void presuňNaZariadenie(int zariadenie)
Alias pre premiestniNaZariadenie
.
public static void presuňNaZariadenie()
Alias pre premiestniNaZariadenie
.
public static void presunNaZariadenie(int zariadenie)
Alias pre premiestniNaZariadenie
.
public static void presunNaZariadenie()
Alias pre premiestniNaZariadenie
.
public static void presuňNaObrazovku(int zariadenie)
Alias pre premiestniNaZariadenie
.
public static void presuňNaObrazovku()
Alias pre premiestniNaZariadenie
.
public static void presunNaObrazovku(int zariadenie)
Alias pre premiestniNaZariadenie
.
public static void presunNaObrazovku()
Alias pre premiestniNaZariadenie
.
public static int zistiZariadenieOkna()
Zistí číslo zariadenia, na ktorom sa nachádza okno sveta.
Zariadenie je určené jeho „poradovým číslom“ (indexom; čiže
nula označuje prvé zariadenie). Pri zisťovaní polohy je braný do
úvahy stred okna. Ak také zariadenie, do ktorého plochy by patril
stred okna nejestvuje, tak je vrátená hodnota -1
.
-1
, ak také zariadenie nejestvujepočetZariadení()
,
premiestniNaZariadenie()
,
premiestniNaZariadenie(int)
public static boolean maximalizovaný()
Zistí, či je okno sveta v maximalizovanom stave.
true
, inak false
ObsluhaUdalostí.maximalizovanie()
,
maximalizuj()
,
minimalizovaný()
,
minimalizuj()
,
normálny()
,
obnov()
public static boolean maximalizovany()
Alias pre maximalizovaný
.
public static void maximalizuj()
Pokúsi sa prepnúť okno sveta do maximalizovaného stavu. O tom,
či sa táto akcia podarila sa dá presvedčiť volaním metódy maximalizovaný
.
public static boolean minimalizovaný()
Zistí, či je okno sveta v minimalizovanom stave.
true
, inak false
ObsluhaUdalostí.minimalizovanie()
,
maximalizovaný()
,
maximalizuj()
,
minimalizuj()
,
normálny()
,
obnov()
public static boolean minimalizovany()
Alias pre minimalizovaný
.
public static void minimalizuj()
Pokúsi sa prepnúť okno sveta do minimalizovaného stavu. O tom,
či sa táto akcia podarila sa dá presvedčiť volaním metódy minimalizovaný
.
public static boolean normálny()
Zistí, či je okno sveta v normálnom stave.
true
, inak false
ObsluhaUdalostí.obnovenie()
,
maximalizovaný()
,
maximalizuj()
,
minimalizovaný()
,
minimalizuj()
,
obnov()
public static boolean normalny()
Alias pre normálny
.
public static void obnov()
Pokúsi sa prepnúť okno sveta do normálneho stavu. (V zmysle
„nie maximalizovaného a nie minimalizovaného“ stavu.) O tom, či
sa táto akcia podarila sa dá presvedčiť volaním metódy normálny
.
public static JPanel hlavnýPanel()
Poskytne komponent hlavného panela vloženého v hlavnom okne aplikácie (vo svete).
Upozornenie: Neodborná manipulácia s týmto komponentom môže mať nežiaduce vedľajšie účinky.
Poznámka: Táto metóda bola do programovacieho rámca niekoľkokrát pridaná na testovacie účely, pričom hneď po skončení testov bola odobraná. Autor rámca nemal v úmysle trvalé ponechanie možnosti získania hlavného panela na ďalšiu manipuláciu, ale dňa 12. 6. 2019 ho okolnosti presvedčili o tom, aby túto možnosť predsa ponechal dostupnú natrvalo. Riaďte sa však upozornením vyššie.
public static JPanel hlavnyPanel()
Alias pre hlavnýPanel
.
public static double vzdialenosť(double súradnicaBoduX, double súradnicaBoduY)
Zistí vzdialenosť bodu so zadanými súradnicami od stredu súradnicovej sústavy.
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)
Alias pre vzdialenosť
.
public static double vzdialenosť(Poloha objekt)
Zistí, aká je vzdialenosť zadaného objektu od stredu súradnicovej sústavy.
objekt
– objekt, ktorého vzdialenosť zisťujemeGRobot.vzdialenosť()
,
vzdialenosť(double, double)
,
vzdialenosť(Shape)
public static double vzdialenost(Poloha objekt)
Alias pre vzdialenosť
.
public static double vzdialenosť(Shape tvar)
Zistí vzdialenosť stredu hraníc[1] zadaného tvaru od stredu súradnicovej sústavy.
[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)
Alias pre vzdialenosť
.
public static double vzdialenosť(double súradnicaBoduX1, double súradnicaBoduY1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí vzájomnú vzdialenosť medzi bodmi so zadanými súradnicami.
súradnicaBoduX1
– x-ová súradnica prvého bodusúradnicaBoduY1
– y-ová súradnica prvého bodusúradnicaBoduX2
– x-ová súradnica druhého bodusúradnicaBoduY2
– y-ová súradnica druhého boduGRobot.vzdialenosť()
,
vzdialenosť(Poloha, Poloha)
,
vzdialenosť(Shape, Shape)
public static double vzdialenost(double súradnicaBoduX1, double súradnicaBoduY1, double súradnicaBoduX2, double súradnicaBoduY2)
Alias pre vzdialenosť
.
public static double vzdialenosť(Poloha objekt1, Poloha objekt2)
Zistí vzájomnú vzdialenosť zadaných objektov.
objekt1
– prvý objekt, ktorého súradnice sa berú do úvahyobjekt2
– druhý objekt, ktorého súradnice sa berú do úvahyGRobot.vzdialenosť()
,
vzdialenosť(double, double, double, double)
,
vzdialenosť(Shape, Shape)
public static double vzdialenost(Poloha objekt1, Poloha objekt2)
Alias pre vzdialenosť
.
public static double vzdialenosť(Shape tvar1, Shape tvar2)
Zistí vzájomnú vzdialenosť stredov hraníc[1] zadaných tvarov.
[1] – nejde presne o stred útvarov; 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.“
tvar1
– prvý tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahytvar2
– druhý tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.vzdialenosť()
,
vzdialenosť(double, double, double, double)
,
vzdialenosť(Poloha, Poloha)
public static double vzdialenost(Shape tvar1, Shape tvar2)
Alias pre vzdialenosť
.
public static double vzdialenosť(Poloha objekt1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí vzájomnú vzdialenosť zadaného objektu a bodu so zadanými súradnicami.
objekt1
– objekt, ktorého súradnice sa berú do úvahysúradnicaBoduX2
– x-ová súradnica bodusúradnicaBoduY2
– y-ová súradnica boduGRobot.vzdialenosť()
,
vzdialenosť(Shape, double, double)
public static double vzdialenost(Poloha objekt1, double súradnicaBoduX2, double súradnicaBoduY2)
Alias pre vzdialenosť
.
public static double vzdialenosť(Shape tvar1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí vzájomnú vzdialenosť stredu hraníc[1] zadaného tvaru a bodu so zadanými súradnicami.
[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.“
tvar1
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahysúradnicaBoduX2
– x-ová súradnica bodusúradnicaBoduY2
– y-ová súradnica boduGRobot.vzdialenosť()
,
vzdialenosť(Poloha, double, double)
public static double vzdialenost(Shape tvar1, double súradnicaBoduX2, double súradnicaBoduY2)
Alias pre vzdialenosť
.
public static double vzdialenosť(double súradnicaBoduX1, double súradnicaBoduY1, Poloha objekt2)
Zistí vzájomnú vzdialenosť medzi bodom so zadanými súradnicami a zadaným objektom.
súradnicaBoduX1
– x-ová súradnica bodusúradnicaBoduY1
– y-ová súradnica boduobjekt2
– objekt, ktorého súradnice sa berú do úvahyGRobot.vzdialenosť()
,
vzdialenosť(Shape, Poloha)
public static double vzdialenost(double súradnicaBoduX1, double súradnicaBoduY1, Poloha objekt2)
Alias pre vzdialenosť
.
public static double vzdialenosť(Shape tvar1, Poloha objekt2)
Zistí vzájomnú vzdialenosť stredu hraníc[1] zadaného tvaru a polohy zadaného objektu.
[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.“
tvar1
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyobjekt2
– objekt, ktorého súradnice sa berú do úvahyGRobot.vzdialenosť()
,
vzdialenosť(double, double, Poloha)
public static double vzdialenost(Shape tvar1, Poloha objekt2)
Alias pre vzdialenosť
.
public static double vzdialenosť(double súradnicaBoduX1, double súradnicaBoduY1, Shape tvar2)
Zistí vzájomnú vzdialenosť medzi bodom so zadanými súradnicami a stredom hraníc[1] zadaného tvaru.
[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.“
súradnicaBoduX1
– x-ová súradnica bodusúradnicaBoduY1
– y-ová súradnica bodutvar2
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.vzdialenosť()
,
vzdialenosť(Poloha, Shape)
public static double vzdialenost(double súradnicaBoduX1, double súradnicaBoduY1, Shape tvar2)
Alias pre vzdialenosť
.
public static double vzdialenosť(Poloha objekt1, Shape tvar2)
Zistí vzájomnú vzdialenosť medzi zadaným objektom a stredom hraníc[1] zadaného tvaru.
[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.“
objekt1
– objekt, ktorého súradnice sa berú do úvahytvar2
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.vzdialenosť()
,
vzdialenosť(double, double, Shape)
public static double vzdialenost(Poloha objekt1, Shape tvar2)
Alias pre vzdialenosť
.
public static double smer(double súradnicaBoduX, double súradnicaBoduY)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou stredom súradncovej sústavy a zadaným bodom.
súradnicaBoduX
– x-ová súradnica určujúceho bodusúradnicaBoduY
– y-ová súradnica určujúceho boduGRobot.smerNa(double, double)
,
smer(Poloha)
,
smer(Shape)
public static double smer(Poloha objekt)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou stredom súradncovej sústavy a bodom určeným polohou zadaného objektu.
objekt
– objekt, ktorého poloha učuje súradnice určujúceho
bodu priamkyGRobot.smerNa(Poloha)
,
smer(double, double)
,
smer(Shape)
public static double smer(Shape tvar)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou stredom súradncovej sústavy a bodom určeným polohou stredu hraníc[1] zadaného tvaru.
[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.“
objekt
– tvar Javy (Shape
), ktorého stred
hraníc učuje súradnice určujúceho bodu priamkyGRobot.smerNa(Shape)
,
smer(double, double)
,
smer(Poloha)
public static double smer(double súradnicaBoduX1, double súradnicaBoduY1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou zadanými bodmi.
súradnicaBoduX1
– x-ová súradnica prvého bodusúradnicaBoduY1
– y-ová súradnica prvého bodusúradnicaBoduX2
– x-ová súradnica druhého bodusúradnicaBoduY2
– y-ová súradnica druhého boduGRobot.smerNa(double, double)
,
smer(Poloha, Poloha)
,
smer(Shape, Shape)
public static double smer(Poloha objekt1, Poloha objekt2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi zadanými vo forme polôh objektov.
objekt1
– prvý objekt, ktorého súradnice sa berú do úvahyobjekt2
– druhý objekt, ktorého súradnice sa berú do úvahyGRobot.smerNa(Poloha)
,
smer(double, double, double, double)
,
smer(Shape, Shape)
public static double smer(Shape tvar1, Shape tvar2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi vypočítanými zo stredov hraníc[1] zadaných tvarov Javy.
[1] – nejde presne o stred útvarov; 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.“
tvar1
– prvý tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahytvar2
– druhý tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.smerNa(Shape)
,
smer(double, double, double, double)
,
smer(Poloha, Poloha)
public static double smer(Poloha objekt1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi určenými polohou zadaného objektu a zadanými súradnicami.
objekt1
– objekt, ktorého súradnice sa berú do úvahysúradnicaBoduX2
– x-ová súradnica druhého bodusúradnicaBoduY2
– y-ová súradnica druhého boduGRobot.smerNa(Poloha)
,
smer(Shape, double, double)
public static double smer(Shape tvar1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi určenými stredom hraníc[1] zadaného tvaru Javy a zadanými súradnicami.
[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.“
tvar1
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahysúradnicaBoduX2
– x-ová súradnica druhého bodusúradnicaBoduY2
– y-ová súradnica druhého boduGRobot.smerNa(Shape)
,
smer(Poloha, double, double)
public static double smer(double súradnicaBoduX1, double súradnicaBoduY1, Poloha objekt2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi určenými zadanými súradnicami a polohou zadaného objektu.
súradnicaBoduX1
– x-ová súradnica prvého bodusúradnicaBoduY1
– y-ová súradnica prvého boduobjekt2
– objekt, ktorého súradnice sa berú do úvahyGRobot.smerNa(Poloha)
,
smer(Shape, Poloha)
public static double smer(Shape tvar1, Poloha objekt2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi určenými stredom hraníc[1] zadaného tvaru Javy a polohou zadaného objektu.
[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.“
tvar1
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyobjekt2
– objekt, ktorého súradnice sa berú do úvahyGRobot.smerNa(Poloha)
,
smer(double, double, Poloha)
public static double smer(double súradnicaBoduX1, double súradnicaBoduY1, Shape tvar2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi určenými zadanými súradnicami a stredom hraníc[1] zadaného tvaru Javy.
[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.“
súradnicaBoduX1
– x-ová súradnica bodusúradnicaBoduY1
– y-ová súradnica bodutvar2
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.smerNa(Shape)
,
smer(Poloha, Shape)
public static double smer(Poloha objekt1, Shape tvar2)
Zistí uhol (smer) zvieraný medzi osou x a priamkou vedúcou bodmi určenými polohou zadaného objektu a stredom hraníc[1] zadaného tvaru Javy.
[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.“
objekt1
– objekt, ktorého súradnice sa berú do úvahytvar2
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.smerNa(Shape)
,
smer(double, double, Shape)
public static double uhol(double súradnicaBoduX, double súradnicaBoduY)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou stredom súradncovej sústavy a zadaným bodom.
súradnicaBoduX
– x-ová súradnica určujúceho bodusúradnicaBoduY
– y-ová súradnica určujúceho boduGRobot.smerNa(double, double)
,
uhol(Poloha)
,
uhol(Shape)
public static double uhol(Poloha objekt)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou stredom súradncovej sústavy a bodom určeným polohou zadaného objektu.
objekt
– objekt, ktorého poloha učuje súradnice určujúceho
bodu priamkyGRobot.smerNa(Poloha)
,
uhol(double, double)
,
uhol(Shape)
public static double uhol(Shape tvar)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou stredom súradncovej sústavy a bodom určeným polohou stredu hraníc[1] zadaného tvaru.
[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.“
objekt
– tvar Javy (Shape
), ktorého stred
hraníc učuje súradnice určujúceho bodu priamkyGRobot.smerNa(Shape)
,
uhol(double, double)
,
uhol(Poloha)
public static double uhol(double súradnicaBoduX1, double súradnicaBoduY1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou zadanými bodmi.
súradnicaBoduX1
– x-ová súradnica prvého bodusúradnicaBoduY1
– y-ová súradnica prvého bodusúradnicaBoduX2
– x-ová súradnica druhého bodusúradnicaBoduY2
– y-ová súradnica druhého boduGRobot.smerNa(double, double)
,
uhol(Poloha, Poloha)
,
uhol(Shape, Shape)
public static double uhol(Poloha objekt1, Poloha objekt2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi zadanými vo forme polôh objektov.
objekt1
– prvý objekt, ktorého súradnice sa berú do úvahyobjekt2
– druhý objekt, ktorého súradnice sa berú do úvahyGRobot.smerNa(Poloha)
,
uhol(double, double, double, double)
,
uhol(Shape, Shape)
public static double uhol(Shape tvar1, Shape tvar2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi vypočítanými zo stredov hraníc[1] zadaných tvarov Javy.
[1] – nejde presne o stred útvarov; 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.“
tvar1
– prvý tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahytvar2
– druhý tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.smerNa(Shape)
,
uhol(double, double, double, double)
,
uhol(Poloha, Poloha)
public static double uhol(Poloha objekt1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi určenými polohou zadaného objektu a zadanými súradnicami.
objekt1
– objekt, ktorého súradnice sa berú do úvahysúradnicaBoduX2
– x-ová súradnica druhého bodusúradnicaBoduY2
– y-ová súradnica druhého boduGRobot.smerNa(double, double)
,
uhol(Shape, double, double)
public static double uhol(Shape tvar1, double súradnicaBoduX2, double súradnicaBoduY2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi určenými stredom hraníc[1] zadaného tvaru Javy a zadanými súradnicami.
[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.“
tvar1
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahysúradnicaBoduX2
– x-ová súradnica druhého bodusúradnicaBoduY2
– y-ová súradnica druhého boduGRobot.smerNa(double, double)
,
uhol(Poloha, double, double)
public static double uhol(double súradnicaBoduX1, double súradnicaBoduY1, Poloha objekt2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi určenými zadanými súradnicami a polohou zadaného objektu.
súradnicaBoduX1
– x-ová súradnica prvého bodusúradnicaBoduY1
– y-ová súradnica prvého boduobjekt2
– objekt, ktorého súradnice sa berú do úvahyGRobot.smerNa(Poloha)
,
uhol(Shape, Poloha)
public static double uhol(Shape tvar1, Poloha objekt2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi určenými stredom hraníc[1] zadaného tvaru Javy a polohou zadaného objektu.
[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.“
tvar1
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyobjekt2
– objekt, ktorého súradnice sa berú do úvahyGRobot.smerNa(Poloha)
,
uhol(double, double, Poloha)
public static double uhol(double súradnicaBoduX1, double súradnicaBoduY1, Shape tvar2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi určenými zadanými súradnicami a stredom hraníc[1] zadaného tvaru Javy.
[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.“
súradnicaBoduX1
– x-ová súradnica bodusúradnicaBoduY1
– y-ová súradnica bodutvar2
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.smerNa(Shape)
,
uhol(Poloha, Shape)
public static double uhol(Poloha objekt1, Shape tvar2)
Zistí uhol zvieraný medzi osou x a priamkou vedúcou bodmi určenými polohou zadaného objektu a stredom hraníc[1] zadaného tvaru Javy.
[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.“
objekt1
– objekt, ktorého súradnice sa berú do úvahytvar2
– tvar Javy (Shape
), ktorého
stred hraníc sa berie do úvahyGRobot.smerNa(Shape)
,
uhol(double, double, Shape)
public static void resetujRaster()
Zresetuje raster sveta – úplne vyčistí jeho obsah. Táto funkcia
je využiteľná len v špeciálnych prípadoch – pozri metódu
prenes(inéOkno, tam)
.
public static void vymaž()
Vymaže obsah sveta. Má rovnaký efekt, ako keby sme za sebou
spustili metódy podlaha.vymaž()
a strop.vymaž()
.
public static void vymaz()
Alias pre vymaž
.
public static void vymažTexty()
Vymaže texty podlahy a stropu. Má rovnaký efekt, ako keby sme za
sebou spustili metódy podlaha.vymažTexty()
a strop.vymažTexty()
.
public static void vymazTexty()
Alias pre vymažTexty
.
public static void vymažGrafiku()
Vymaže plátno podlahy a stropu. Má rovnaký efekt, ako keby sme za
sebou spustili metódy podlaha.vymažGrafiku()
a strop.vymažGrafiku()
.
public static void vymazGrafiku()
Alias pre vymažGrafiku
.
public 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í
. Vždy môže byť v činnosti len jedna
obsluha udalostí. Vytváranie viacerých inštancií triedy 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í
.
ObsluhaUdalostí
,
presmerujObsluhuUdalostí(ObsluhaUdalostí)
public static void povolViacnasobnuObsluhuUdalosti()
Alias pre povoľViacnásobnúObsluhuUdalostí
.
public static void presmerujObsluhuUdalostí(ObsluhaUdalostí obsluha)
Presmeruje spracovanie udalostí do inej inštancie triedy 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…
import
knižnica.*;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
);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í(); } }
Výsledok:
|
|
obsluha
– inštancia obsluhy
udalostí, do ktorej budú presmerované ďalšie udalosti
spracúvané svetom grafického robotaObsluhaUdalostí
,
povoľViacnásobnúObsluhuUdalostí()
public static void presmerujObsluhuUdalosti(ObsluhaUdalostí obsluha)
Alias pre presmerujObsluhuUdalostí
.
public static ObsluhaUdalostí aktívnaObsluhaUdalostí()
Táto metóda slúži na získanie aktívnej inštancie obsluhy udalostí.
Je užitočná v súvislosti s možnosťou povolenia viacnásobnej obsluhy
udalostí. Ak obsluha udalostí nebola definovaná, prípadne nie je
z nejakého dôvodu aktívna žiadna z jestvujúcich inštancií obsluhy
udalostí, tak metóda vráti hodnotu null
.
null
ObsluhaUdalostí.aktívna()
public static ObsluhaUdalosti aktivnaObsluhuUdalosti()
Alias pre aktívnaObsluhaUdalostí
.
public static void vyplň(Color farba)
Vyplní podlahu zadanou farbou, ktorá prekryje aj
farbu pozadia sveta.
Má rovnaký efekt, ako keby sme volali metódu podlaha.vyplň(farba)
.
farba
– objekt určujúci farbu výplne podlahyvymaž()
public static void vyplň(Farebnosť objekt)
Vyplní podlahu farbou zadaného objektu, ktorá prekryje aj
farbu pozadia sveta.
Má rovnaký efekt, ako keby sme volali metódu podlaha.vyplň(farba)
.
objekt
– objekt určujúci farbu výplne podlahyvymaž()
public static Farba vyplň(int r, int g, int b)
Vyplní podlahu farbou zadanou prostredníctvom farebných zložiek. Má
rovnaký efekt, ako keby sme volali metódu 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ň(Color)
public static Farba vyplň(int r, int g, int b, int a)
Vyplní podlahu farbou zadanou prostredníctvom farebných zložiek
a úrovne priehľadnosti. Má rovnaký efekt, ako keby sme volali
metódu 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
hodnôt parametrovvyplň(Color)
public static void vyplň(String súbor)
Vyplní podlahu zadanou textúrou. Textúra je súbor s obrázkom, ktorý
bude použitý na dlaždicové vyplnenie plochy podlahy. Má rovnaký
efekt, ako keby sme volali metódu podlaha.vyplň(súbor)
.
Poznámka: Parametre textúry sa dajú
ovplyvňovať špeciálnymi príkazmi. Súvisí s nimi i predvolené
správanie príkazov vypĺňania. Predvolený bod začiatku vypĺňania
dlaždicami sa nachádza v strede plátna alebo vypĺňaného
obrázka. Pozrite si aj opis metódy
posunutieVýplne
,
kde nájdete príklad použitia a odkazy na metódy
upravujúce ďalšie parametre obrázkových výplní.
súbor
– názov súboru s obrázkom textúryGRobotException
– ak súbor s obrázkom nebol nájdenývyplň(Color)
,
priečinokObrázkov(String)
public static void vyplň(Image výplň)
Vyplní podlahu zadanou textúrou. Textúra je obrázok (objekt typu Image
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)
.
Poznámka: Parametre textúry sa dajú
ovplyvňovať špeciálnymi príkazmi. Súvisí s nimi i predvolené
správanie príkazov vypĺňania. Predvolený bod začiatku vypĺňania
dlaždicami sa nachádza v strede plátna alebo vypĺňaného
obrázka. Pozrite si aj opis metódy
posunutieVýplne
,
kde nájdete príklad použitia a odkazy na metódy
upravujúce ďalšie parametre obrázkových výplní.
výplň
– obrázok textúryvyplň(Color)
public static Bod posunutieVýplne()
Vráti bod so súradnicami relatívneho posunutia obrázkových dlaždicových výplní.
Príklad:
Tento krátky príklad ukazuje vytvorenie a použitie dialógu na úpravu vybraných parametrov aktuálneho (hlavného) robota.
import
knižnica.*;public
class
DialógParametrovextends
GRobot
{private
Farba
farba =čierna
;private
Bod
poloha =stred
;private
Uhol
uhol =sever
;private
Rozmer
rozmery =new
Rozmery
(80
,60
);private
DialógParametrov() {Svet
.vypíš
(this
);hrúbkaČiary
(1.5
); aktualizuj(); }private
String
[] menovky = {"Farba: "
,"Poloha: "
,null
,"Uhol: "
,"Rozmery: "
};private
void
aktualizuj() {Svet
.vymaž
();Svet
.vypíšRiadok
(menovky[0
],Farba
.farbaNaReťazec
(farba));Svet
.vypíšRiadok
(menovky[1
],Bod
.bodNaReťazec
(poloha));Svet
.vypíšRiadok
(menovky[3
], uhol);Svet
.vypíšRiadok
(menovky[4
],Rozmery
.rozmeryNaReťazec
(rozmery));farba
(farba);poloha
(poloha);uhol
(uhol);rozmer
(rozmery); }@
Overridepublic
void
kresliSeba
() {obdĺžnik
();dopredu
(); }@
Overridepublic
void
klik
() {Object
[] údaje = {farba, poloha,'\n'
, uhol, rozmery};if
(Svet
.dialóg
(menovky, údaje)) {if
(null
!= údaje[0
] && údaje[0
]instanceof
Farba) farba = (Farba
)údaje[0
];if
(null
!= údaje[1
] && údaje[1
]instanceof
Bod
) poloha = (Bod
)údaje[1
];if
(null
!= údaje[3
] && údaje[3
]instanceof
Uhol
) uhol = (Uhol
)údaje[3
];if
(null
!= údaje[4
] && údaje[4
]instanceof
Rozmery
) rozmery = (Rozmery
)údaje[4
]; aktualizuj(); } }public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
("DialógParametrov.cfg"
);new
DialógParametrov(); } }
Výsledok:
Po spustení aplikácie a kliknutí na plochu sa používateľovi zobrazí dialóg (na obrázku nižšie), v ktorom bude môcť upravovať vybrané parametre aktuálneho robota.
Dialóg parametrov v OS Windows.
Bod
určujúci súradnice
relatívneho posunutia obrázkových dlaždicových výplníposunutieVýplne(double, double)
,
mierkaVýplne()
,
otočenieVýplne()
,
stredOtáčaniaVýplne()
public static Bod posunutieVyplne()
Alias pre posunutieVýplne
.
public static void posunutieVýplne(double x, double y)
Nastaví relatívne posunutie obrázkových dlaždicových výplní. Každé ďalšie spustenie niektorého z príkazov vypĺňania bude používať novú relatívnu polohu dlaždíc. Predvolené posunutie [0, 0] znamená, že dlaždicová textúra sa začína v strede plátna, čo je platné aj pre vypĺňanie útvarov a oblastí, alebo v strede vypĺňaného obrázka.
Príklad:
Nasledujúci príklad zhŕňa použitie viacerých metód súvisiacich s úpravou parametrov dlaždicových výplní. Príklad si sám vygeneruje textúru, ktorá je predvolene dlaždicovo sa nadpájajúca alebo bezšvová (anglicky tileable alebo seamless), ale môže byť úmyselne pregenerovaná aj tak, aby sa dlaždicovo nenadpájala (aby bolo lepšie vidno jej hranice). Textúrou sú potom vypĺňané rôzne druhy cieľov, vrátane celého plátna. Parametre textúry sa dajú možné dynamicky upravovať myšou.
import
knižnica.*;public
class
TestVypĺňaniaTextúrouextends
GRobot
{// Mliečna farba výplne stropu v režime zobrazenia pomocníka
private
final
static
Farba
mliečna =new
Farba
(1.0
,1.0
,1.0
,0.8
);// Oblasť, ktorá je jedným z cieľov vypĺňania:
private
Oblasť
oblasť;// Obrázok, ktorý je ďalším z cieľov vypĺňania:
private
Obrázok
obrázok;// Obrázok s vygenerovanou výplňou (textúrou):
private
Obrázok
textúra;// Rôzne nastavenia:
private
boolean
bezšvová;private
boolean
zamknuté;private
boolean
upravTextúru;private
int
zobrazPomoc;private
int
cieľVýplne;private
int
typ;// Zálohy pre jeden z režimov práce:
private
Poloha
zálohaPosunutia;private
double
zálohaPootočenia;// Konštruktor.
private
TestVypĺňaniaTextúrou() {// Úprava rozmerov plátna (volaním nadradeného konštruktora):
super
(1200
,600
);// Vypnutie automatického prekresľovania:
Svet
.nekresli
();// Vytvorenie relatívne komplikovaného tvaru oblasti – medzikružie
// prekryté dvomi pootočenými hviezdami – „jež v obruči“:
veľkosť
(200
); oblasť =new
Oblasť
(); oblasť.pridaj
(kruh
(veľkosť
() *4.0
/5.0
)); oblasť.odober
(kruh
(veľkosť
() *3.0
/4.0
));vpravo
(18
); oblasť.pridaj
(hviezda
());vľavo
(36
); oblasť.pridaj
(hviezda
());vpravo
(18
); oblasť.pridaj
(kruh
(veľkosť
() *2.0
/3.0
));// Vytvorenie práznych inštancií obrázkov. Prvá inštancia „obrázok“
// je jedným z cieľov vypĺňania. Druhá inštancia „textúra“ je výplň
// použitá na rôzne ciele (podľa nastavenia, ktoré sa dá meniť počas
// činnosti programu):
obrázok =new
Obrázok
(200
,200
); textúra =new
Obrázok
(160
,120
);
// Vykonanie počiatočných nastavení príkladu:
bezšvová =true
; zamknuté =false
; upravTextúru =true
; zobrazPomoc =3
; cieľVýplne =2
; typ =0
; vygenerujTextúru(); vyplňTextúrou(); pomoc();Svet
.spustiČasovač
(); }// Generovanie textúry aktuálneho typu v aktuálnom režime
private
void
vygenerujTextúru() {// Záloha stavu robota pred generovaním textúry (nesúvisí so zálohou
// pre jeden z režimov – toto je nezávislá záloha tých vlastností
// robota, ktoré táto metóda ovplyvňuje):
Farba
zálohaFarby =farba
();Poloha
zálohaPolohy =poloha
();double
zálohaSmeru =smer
();double
zálohaHrúbky =hrúbkaČiary
();// Presmerovanie kreslenia robota. Toto je jediná vlastnosť, ktorú
// metóda nezálohuje poctivo – spoliehame sa na to, že robot bude
// pred aj po vykonaní tejto metódy kresliť na podlahu (čo je
// predvolené nastavenie robota):
kresliDoObrázka
(textúra); textúra.vymaž
();// Generovanie textúry aktuálneho typu:
for
(int
i =0
; i <280
; ++i) {// Farba, poloha, smer aj hrúbka čiary sú náhodne zmenené:
náhodnáFarba
();náhodnáPoloha
();náhodnýSmer
();hrúbkaČiary
(Svet
.náhodnéReálneČíslo
(3
,5
));if
(bezšvová) {// Ak má byť textúra bezšvová, tak musí byť každá čiara
// a tvar nakreslený deväť ráz – na aktuálnej pozícii a na
// ôsmich ďalších pozíciách:
// – dvoch posunutých o šírku obrázka vpravo a vľavo,
// – dvoch posunutých o výšku obrázka hore a dole
// – a štyroch zvyšných diagonálnych smerov podľa rozmerov
// textúry.
//
// To je najjednoduchší spôsob ako získať istotu, že ak čiara
// alebo tvar presahujú v niektorom smere von, tak budú určite
// nakreslené yak, aby zasahovali do obrázka aj z protiľahlej
// strany. (Základným predpokladom je, že čiara alebo tvar nie
// sú niekoľkonásobne väčšie než sú rozmery obrázka. Ak by to
// tak, nebolo, tak by generovanie bezšvovej textúry bolo
// komplikovanejšie.)
//
// (Efektívnejším spôsobom, no komplikovanejším na
// naprogramovanie, by bolo overovať, ktorý okraj alebo okraje
// obrázka čiara alebo tvar prekročili a podľa toho ich
// nakresliť pokračujúc z opačnej strany alebo strán.
//
// Ďalšia úroveň spoľahlivosti algoritmu by dokázala overiť aj
// to, o koľko čiara prípadne tvar prekračujú okraj(e)
// a zabezpečiť nakreslenie viacnásobného prekročenia hraníc
// obrázka.
//
// Pri kreslení čiary vo vodorovnom alebo zvislom smere by išlo
// len o viacnásobné prekreslenie čiary na určitom riadku alebo
// stĺpci. Výsledný efekt by bol málo viditeľný. No ak by bola
// čiara nakreslená pod určitým uhlom, tak by dostatočne dlhá
// vhodne umiestnená čiara dokázala vyšrafovať celú plochu
// obrázka. No s tým algoritmom, ktorý je použitý tu, by to
// nefungovalo…
//
// Posledný tip: Ďalším spôsobom, ktorý by ani nemusel byť
// taký náročný na naprogramovanie, by mohlo byť využitie
// pretáčania obrázka s textúrou. Ak by tvar alebo čiara,
// ktoré by mali tvoriť textúru boli vždy menšie než rozmery
// textúry, tak by stačilo, aby sme vždy nakreslili tvar
// alebo čiaru presne do stredu textúry a potom ju
// pretočili o náhodný počet bodov v oboch smeroch – pozri
// metódu pretoč(Δx, Δy).)
// Zálohujeme polohu – budeme ju recyklovať ako východiskovú
// polohu:
Poloha
poloha =poloha
();// Podľa hodnoty atribútu typ vygenerujeme textúru:
switch
(typ %3
) {case
1
:// krúžky – kružnice kreslené hrubšou čiarou
{// (Vtáčie zátvorky sú tu preto, aby sme mohli
// v rámci jednej vetvy, presnejšie v rámci
// zátvoriek, definovať lokálne premenné.)
// Vygenerujeme veľkosť:
double
veľkosť =Svet
.náhodnéReálneČíslo
(3
,12
);// Nakreslíme strednú kružnicu:
kružnica
(veľkosť);// Presunieme sa do východiskovej polohy, posunieme
// sa doľava o šírku textúry a nakreslíme ďalšiu
// kružnicu:
skočNa
(poloha);skoč
(-textúra.šírka
,0
);kružnica
(veľkosť);// (Podobne doprava.)
skočNa
(poloha);skoč
(textúra.šírka
,0
);kružnica
(veľkosť);// (Hore.)
skočNa
(poloha);skoč
(0
, -textúra.výška
);kružnica
(veľkosť);// (Dole.)
skočNa
(poloha);skoč
(0
, textúra.výška
);kružnica
(veľkosť);// (Vľavo dole.)
skočNa
(poloha);skoč
(-textúra.šírka
, -textúra.výška
);kružnica
(veľkosť);// (Vľavo hore.)
skočNa
(poloha);skoč
(-textúra.šírka
, textúra.výška
);kružnica
(veľkosť);// (Vpravo dole.)
skočNa
(poloha);skoč
(textúra.šírka
, -textúra.výška
);kružnica
(veľkosť);// (Vpravo hore.)
skočNa
(poloha);skoč
(textúra.šírka
, textúra.výška
);kružnica
(veľkosť); }break
;case
2
:// čiarky
{// (Princíp je rovnaký ako pri krúžkoch vyššie, ale
// vygenerovaná hodnota je použitá ako dĺžka čiary.)
double
dĺžka =Svet
.náhodnéReálneČíslo
(60
,100
);dopredu
(dĺžka);skočNa
(poloha);skoč
(-textúra.šírka
,0
);dopredu
(dĺžka);skočNa
(poloha);skoč
(textúra.šírka
,0
);dopredu
(dĺžka);skočNa
(poloha);skoč
(0
, -textúra.výška
);dopredu
(dĺžka);skočNa
(poloha);skoč
(0
, textúra.výška
);dopredu
(dĺžka);skočNa
(poloha);skoč
(-textúra.šírka
, -textúra.výška
);dopredu
(dĺžka);skočNa
(poloha);skoč
(-textúra.šírka
, textúra.výška
);dopredu
(dĺžka);skočNa
(poloha);skoč
(textúra.šírka
, -textúra.výška
);dopredu
(dĺžka);skočNa
(poloha);skoč
(textúra.šírka
, textúra.výška
);dopredu
(dĺžka); }break
;default
:// plné kruhy
{// (Princíp je rovnaký ako pri krúžkoch vyššie,
// len sú kreslené plné kruhy.)
double
veľkosť =Svet
.náhodnéReálneČíslo
(3
,12
);kruh
(veľkosť);skočNa
(poloha);skoč
(-textúra.šírka
,0
);kruh
(veľkosť);skočNa
(poloha);skoč
(textúra.šírka
,0
);kruh
(veľkosť);skočNa
(poloha);skoč
(0
, -textúra.výška
);kruh
(veľkosť);skočNa
(poloha);skoč
(0
, textúra.výška
);kruh
(veľkosť);skočNa
(poloha);skoč
(-textúra.šírka
, -textúra.výška
);kruh
(veľkosť);skočNa
(poloha);skoč
(-textúra.šírka
, textúra.výška
);kruh
(veľkosť);skočNa
(poloha);skoč
(textúra.šírka
, -textúra.výška
);kruh
(veľkosť);skočNa
(poloha);skoč
(textúra.šírka
, textúra.výška
);kruh
(veľkosť); } } }else
{// V režime švovej textúry kreslíme každý tvar len raz:
switch
(typ %3
) {case
1
:kružnica
(Svet
.náhodnéReálneČíslo
(3
,12
));break
;case
2
:dopredu
(Svet
.náhodnéReálneČíslo
(60
,100
));break
;default
:kruh
(Svet
.náhodnéReálneČíslo
(3
,12
)); } } }// Presmerujeme kreslenie späť na podlahu:
kresliNaPodlahu
();// Vrátenie zálohy vykonanej na začiatku tejto metódy:
farba
(zálohaFarby);skočNa
(zálohaPolohy);smer
(zálohaSmeru);hrúbkaČiary
(zálohaHrúbky); }// Vyplnenie aktuálneho cieľa vypĺňania textúrou
private
void
vyplňTextúrou() {// Vymazanie grafiky podlahy:
podlaha
.vymažGrafiku
();if
(zamknuté) {// Ak je posúvanie a otáčanie textúry zamknuté, tak vykonáme
// posunutie a otočenie výplne podľa aktuálnych parametrov robota
// (zaujímavo sa to prejaví na vypĺňanom obrázku, ktorý pracuje
// akoby so samostatnou súradnicovou sústavou):
Svet
.posunutieVýplne
(this
);Svet
.pootočenieVýplne
(this
); }// Podľa cieľa výplne prekreslíme požadovanú súčasť (vždy použijeme
// príkaz vyplň tej ktorej súčasti, aby bolo vidno výsledok
// s aktuálnymi parametrami textúry):
switch
(cieľVýplne) {case
0
: obrázok.vymaž
(); obrázok.vyplň
(textúra);obrázok
(obrázok,1.0
);break
;case
1
:// Kreslenie tvarov nie je vypnuté, preto sa hviezda zároveň
// nakreslí na plochu plátna aktuálnou hrúbkou a farbou čiary.
vyplňTvar
(hviezda
(), textúra);break
;case
2
:vyplňOblasť
(oblasť, textúra);break
;case
3
:podlaha
.vyplň
(textúra);break
; } }// Výpis obsahu elektronického pomocníka
private
void
pomoc() {strop
.vymažTexty
();strop
.vymažGrafiku
();if
(zobrazPomoc >0
) {strop
.vyplň
(mliečna);int
zobrazenie = (zobrazPomoc -1
) %3
;if
(zobrazenie >=2
) {Svet
.vypíšRiadok
("Medzerníkom prepnete medzi režimom úprav (transformácie) textúry a tvaru."
);Svet
.vypíšRiadok
("Enterom sa prepnete medzi režimom zamknutého alebo voľného posunu a otáčania textúry s tvarom."
);Svet
.vypíšRiadok
("Klávesom F1 zobrazíte tohto pomocníka (viacnásobné stlačenie prepína mieru zobrazených informácií)."
);Svet
.vypíšRiadok
("Klávesom Escape skryjete pomocníka."
);Svet
.vypíšRiadok
("Klávesy 1 až 4 prepínajú ciele vypĺňania: obrázok, tvar hviezdy, oblasť ježa v obruči a celú plochu podlahy. (Všímajte si odlišnosti.)"
);Svet
.vypíšRiadok
("Kláves F prepne na ďalší typ textúry a vygeneruje novú náhodnú textúru (v aktuálnom režime)."
);Svet
.vypíšRiadok
("Kláves G vygeneruje novú náhodnú textúru aktuálneho typu v aktuálnom režime."
);Svet
.vypíšRiadok
("Kláves H prepne medzi režimom bezšvovej a švovej textúry a vygeneruje novú náhodnú textúru (aktuálneho typu)."
,riadok
); }if
(zobrazenie >=1
) {Svet
.vypíšRiadok
("Kliknutím alebo ťahaním niektorým tlačidlom myši vykonáte jednu z nasledujúcich akcií s tvarom (v režime úprav tvaru):"
);Svet
.vypíšRiadok
(" — ľavé tlačidlo: posunutie tvaru,"
);Svet
.vypíšRiadok
(" — pravé tlačidlo: pootočenie tvaru."
,riadok
);Svet
.vypíšRiadok
("Kliknutím alebo ťahaním niektorým tlačidlom myši vykonáte jednu z nasledujúcich akcií s textúrou (v režime úprav textúry):"
);Svet
.vypíšRiadok
(" — ak je posúvanie a otáčenie textúry voľné:"
);Svet
.vypíšRiadok
(" — ľavé tlačidlo: posunutie textúry,"
);Svet
.vypíšRiadok
(" — pravé tlačidlo: pootočenie textúry,"
,riadok
);Svet
.vypíšRiadok
(" — ak je posúvanie a otáčenie textúry zamknuté:"
);Svet
.vypíšRiadok
(" — ľavé tlačidlo: posunutie stredu otáčania textúry,"
);Svet
.vypíšRiadok
(" — pravé tlačidlo: zmena mierky textúry."
,riadok
); }if
(zobrazenie >=0
) {Svet
.vypíšRiadok
("Aktuálny stav:"
,riadok
);Svet
.vypíš
(" — Cieľ výplne: "
);switch
(cieľVýplne) {case
0
:Svet
.vypíš
("obrázok"
);break
;case
1
:Svet
.vypíš
("tvar hviezdy"
);break
;case
2
:Svet
.vypíš
("oblasť ježa v obruči"
);break
;case
3
:Svet
.vypíš
("podlaha"
);break
; }Svet
.vypíšRiadok
("."
);Svet
.vypíš
(" — Režim úprav: "
);if
(upravTextúru)Svet
.vypíš
("textúra"
);else
Svet
.vypíš
("tvaru"
);Svet
.vypíšRiadok
("."
);Svet
.vypíš
(" — Stav zámku textúry: "
);if
(zamknuté)Svet
.vypíš
("zamknuté"
);else
Svet
.vypíš
("voľné"
);Svet
.vypíšRiadok
("."
); }Svet
.vypíšRiadok
(riadok
,"(Tip: Ak je miera zobrazených textov pomocníka vyššia, tak kolieskom myši môžete rolovať text…)"
);Svet
.vypíšRiadok
(riadok
,"Stlačte Escape…"
); } }
// Obsluhy udalostí (časovača, myši a klávesnice):
@
Overridepublic
void
tik
() {if
(Svet
.neboloPrekreslené
())Svet
.prekresli
(); }@
Overridepublic
void
stlačenieTlačidlaMyši
() {ťahanieMyšou
(); }@
Overridepublic
void
ťahanieMyšou
() {if
(upravTextúru) {if
(zamknuté) {if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
))Svet
.stredOtáčaniaVýplne
(ÚdajeUdalostí
.súradnicaMyšiX
() -súradnicaX
(),ÚdajeUdalostí
.súradnicaMyšiY
() -súradnicaY
());else
Svet
.mierkaVýplne
(ÚdajeUdalostí
.súradnicaMyšiX
() /100.0
,ÚdajeUdalostí
.súradnicaMyšiY
() /100.0
); }else
{if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
))Svet
.posunutieVýplneNaMyš
();else
Svet
.pootočenieVýplneNaMyš
(); } }else
{if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
))skočNaMyš
();else
otočNaMyš
(); } vyplňTextúrou(); }@
SuppressWarnings("fallthrough"
)// toto je vysvetlené na konci metódy
@
Overridepublic
void
uvoľnenieKlávesu
() {switch
(ÚdajeUdalostí
.kláves
()) {case
Kláves
.MEDZERA
: upravTextúru = !upravTextúru; pomoc();break
;case
Kláves
.ENTER
:if
(zamknuté) {Svet
.posunutieVýplne
(zálohaPosunutia);Svet
.pootočenieVýplne
(zálohaPootočenia); }else
{ zálohaPosunutia =Svet
.posunutieVýplne
(); zálohaPootočenia =Svet
.pootočenieVýplne
(); } zamknuté = !zamknuté; vyplňTextúrou(); pomoc();break
;case
Kláves
.ESCAPE
:if
(zobrazPomoc >0
) zobrazPomoc = -zobrazPomoc;else
if
(0
== zobrazPomoc) zobrazPomoc = -3
; pomoc();break
;case
Kláves
.VK_F1
:if
(zobrazPomoc <0
) zobrazPomoc = -zobrazPomoc;else
if
(0
== zobrazPomoc) zobrazPomoc =3
;else
++zobrazPomoc; pomoc();break
;case
Kláves
.VK_1
: cieľVýplne =0
; vyplňTextúrou(); pomoc();break
;case
Kláves
.VK_2
: cieľVýplne =1
; vyplňTextúrou(); pomoc();break
;case
Kláves
.VK_3
: cieľVýplne =2
; vyplňTextúrou(); pomoc();break
;case
Kláves
.VK_4
: cieľVýplne =3
; vyplňTextúrou(); pomoc();break
;case
Kláves
.VK_F
: ++typ; bezšvová = !bezšvová;// Na tomto mieste býva obvykle príkaz break. Jeho
// neprítomnosť tu nie je chybou. Ide o úmyselné
// prepadnutie sa do ďalšej vetvy, ktorá sa prepadáva
// ešte hlbšie, takže posledné tri príkazy
// (vygenerujTextúru – pomoc) sú vykonané vo všetkých
// troch vetvách.
//
// Posledný príkaz v tejto vetve (bezšvová = !bezšvová)
// iba kompenzuje účinok nasledujúcej vetvy tak, aby
// bola hodnota príznaku „bešvová“ po vykonaní tejto
// vetvy nezmenená (pretože stlačenie klávesu F má mať
// za následok iba zmenu typu generovanej textúry, nie
// švového režimu).
//
// Java by programátora varovala, že v tejto metóde sa
// nachádza prepadnutie sa medzi vetvami riadiacej
// štruktúry switch, preto je pred deklaračnou časťou
// tejto metódy anotácia @SuppressWarnings("fallthrough"),
// ktorá varovanie potlačí. Túto anotáciu smie
// programátor použiť len v prípade, že o prepadnutí sa,
// vie a úmyselne ho chce vo svojej metóde ponechať.
case
Kláves
.VK_H
: bezšvová = !bezšvová;case
Kláves
.VK_G
: vygenerujTextúru(); vyplňTextúrou(); pomoc();break
; } }
// Hlavná metóda.
public
static
void
main(String
... args) {Svet
.použiKonfiguráciu
("TestVypĺňaniaTextúrou.cfg"
);new
TestVypĺňaniaTextúrou(); } }
Výsledok:
Ukážka výsledku – úvodné
zobrazenie.
x
– x-ová súradnica určujúca novú hodnotu relatívneho
posunutia obrázkových dlaždicových výplníy
– y-ová súradnica určujúca novú hodnotu relatívneho
posunutia obrázkových dlaždicových výplníposunutieVýplne()
,
mierkaVýplne(double)
,
mierkaVýplne(double, double)
,
otočenieVýplne(double)
,
otočenieVýplne(double, double, double)
,
stredOtáčaniaVýplne(double, double)
,
GRobot.vyplňTvar(Shape, String)
,
GRobot.vyplňTvar(Shape, Image)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vyplňOblasť(Area, Image)
,
Plátno.vyplň(String)
,
Plátno.vyplň(Image)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.vyplň(Shape, Image)
,
Obrázok.vyplň(String)
,
Obrázok.vyplň(Image)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(Image)
public static void posunutieVyplne(double x, double y)
Alias pre posunutieVýplne
.
public static void posunutieVýplne(Poloha poloha)
Táto metóda funguje podobne ako metóda
posunutieVýplne(x, y)
.
Rozdielom je, že namiesto dvoch samostatných súradníc prijíma
objekt, ktorého polohu použije namiesto zadania súradníc. Inak
funguje táto metóda úplne rovnako ako spomenutá metóda. Všetky
informácie uvedené v jej opise sú tiež relevantné, preto
odporúčame prečítať si aj jej opis.
poloha
– objekt určujúci nové relatívne posunutie výplníposunutieVýplne(double, double)
public static void posunutieVyplne(Poloha poloha)
Alias pre posunutieVýplne
.
public static void posunutieVýplne(Shape tvar)
Táto metóda funguje podobne ako metóda
posunutieVýplne(x, y)
.
Rozdielom je, že namiesto dvoch samostatných súradníc prijíma
objekt, ktorého polohu použije namiesto zadania súradníc. Inak
funguje táto metóda úplne rovnako ako spomenutá metóda. Všetky
informácie uvedené v jej opise sú tiež relevantné, preto
odporúčame prečítať si aj jej opis.
tvar
– objekt určujúci nové relatívne posunutie výplníposunutieVýplne(double, double)
public static void posunutieVyplne(Shape tvar)
Alias pre posunutieVýplne
.
public static Bod mierkaVýplne()
Vráti bod s hodnotami mierky obrázkových dlaždicových výplní v osiach x a y.
Bod
určujúci hodnoty mierky
obrázkových dlaždicových výplní v osiach x a ymierkaVýplne(double, double)
,
posunutieVýplne()
,
otočenieVýplne()
,
stredOtáčaniaVýplne()
public static Bod mierkaVyplne()
Alias pre mierkaVýplne
.
public static void mierkaVýplne(double mierka)
Nastaví mierku obrázkových dlaždicových výplní (v oboch osiach naraz). Každé ďalšie spustenie niektorého z príkazov vypĺňania bude používať novú mierku. Hodnota mierky 1.0 je neutrálna – znamená, že rozmer textúry nebude zmenený. Hodnoty menšie než 1.0 (ale väčšie než 0.0 – to jest neceločíselné hodnoty) znamenajú zmenšenie a hodnoty väčšie než 1.0 znamenajú zväčšenie.
mierka
– hodnota určujúca novú mierku textúrymierkaVýplne()
,
posunutieVýplne(double, double)
,
mierkaVýplne(double, double)
,
otočenieVýplne(double)
,
otočenieVýplne(double, double, double)
,
stredOtáčaniaVýplne(double, double)
,
GRobot.vyplňTvar(Shape, String)
,
GRobot.vyplňTvar(Shape, Image)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vyplňOblasť(Area, Image)
,
Plátno.vyplň(String)
,
Plátno.vyplň(Image)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.vyplň(Shape, Image)
,
Obrázok.vyplň(String)
,
Obrázok.vyplň(Image)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(Image)
public static void mierkaVyplne(double mierka)
Alias pre mierkaVýplne
.
public static void mierkaVýplne(double mx, double my)
Nastaví mierku obrázkových dlaždicových výplní jednotlivo pre osi x a y. Každé ďalšie spustenie niektorého z príkazov vypĺňania bude používať nové mierky. Hodnota mierky 1.0 pre niektorú z osí je neutrálna – znamená, že rozmer textúry nebude v smere tejto osi zmenený. Hodnoty menšie než 1.0 (ale väčšie než 0.0 – to jest neceločíselné hodnoty) znamenajú zmenšenie v určenom smere a hodnoty väčšie než 1.0 znamenajú zväčšenie.
mx
– hodnota určujúca novú mierku v smere osi xmy
– hodnota určujúca novú mierku v smere osi ymierkaVýplne()
,
posunutieVýplne(double, double)
,
mierkaVýplne(double)
,
otočenieVýplne(double)
,
otočenieVýplne(double, double, double)
,
stredOtáčaniaVýplne(double, double)
,
GRobot.vyplňTvar(Shape, String)
,
GRobot.vyplňTvar(Shape, Image)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vyplňOblasť(Area, Image)
,
Plátno.vyplň(String)
,
Plátno.vyplň(Image)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.vyplň(Shape, Image)
,
Obrázok.vyplň(String)
,
Obrázok.vyplň(Image)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(Image)
public static void mierkaVyplne(double mx, double my)
Alias pre mierkaVýplne
.
public static double otočenieVýplne()
Vráti hodnotu pootočenia obrázkových dlaždicových výplní.
Bod
určujúci mieru pootočenia
obrázkových dlaždicových výplníotočenieVýplne(double)
,
otočenieVýplne(double, double, double)
,
posunutieVýplne()
,
mierkaVýplne()
,
stredOtáčaniaVýplne()
public static double otocenieVyplne()
Alias pre otočenieVýplne
.
public static double pootočenieVýplne()
Vráti hodnotu pootočenia obrázkových dlaždicových výplní.
Bod
určujúci mieru pootočenia
obrázkových dlaždicových výplnípootočenieVýplne(double)
,
pootočenieVýplne(double, double, double)
,
posunutieVýplne(double, double)
,
posunutieVýplne()
,
mierkaVýplne()
,
stredOtáčaniaVýplne()
public static double pootocenieVyplne()
Alias pre pootočenieVýplne
.
public static void otočenieVýplne(double uhol)
Nastaví nový uhol pootočenia obrázkových dlaždicových výplní.
Každé ďalšie spustenie niektorého z príkazov vypĺňania bude
pracovať s pootočenou textúrou. Predvolené je nulové, to jest
žiadne, pootočenie so stredom otáčania v bode relatívneho
posunutia textúry – pozri príkaz posunutieVýplne(x, y)
.
uhol
– nový uhol pootočenia obrázkových dlaždicových výplníotočenieVýplne()
,
posunutieVýplne(double, double)
,
mierkaVýplne(double)
,
mierkaVýplne(double, double)
,
otočenieVýplne(double, double, double)
,
stredOtáčaniaVýplne(double, double)
,
GRobot.vyplňTvar(Shape, String)
,
GRobot.vyplňTvar(Shape, Image)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vyplňOblasť(Area, Image)
,
Plátno.vyplň(String)
,
Plátno.vyplň(Image)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.vyplň(Shape, Image)
,
Obrázok.vyplň(String)
,
Obrázok.vyplň(Image)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(Image)
public static void otocenieVyplne(double uhol)
Alias pre otočenieVýplne
.
public static void pootočenieVýplne(double uhol)
Nastaví nový uhol pootočenia obrázkových dlaždicových výplní.
Každé ďalšie spustenie niektorého z príkazov vypĺňania bude
pracovať s pootočenou textúrou. Predvolené je nulové, to jest
žiadne, pootočenie so stredom otáčania v bode relatívneho
posunutia textúry – pozri príkaz posunutieVýplne(x, y)
.
uhol
– nový uhol pootočenia obrázkových dlaždicových výplnípootočenieVýplne()
,
posunutieVýplne(double, double)
,
mierkaVýplne(double)
,
mierkaVýplne(double, double)
,
pootočenieVýplne(double, double, double)
,
stredOtáčaniaVýplne(double, double)
,
GRobot.vyplňTvar(Shape, String)
,
GRobot.vyplňTvar(Shape, Image)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vyplňOblasť(Area, Image)
,
Plátno.vyplň(String)
,
Plátno.vyplň(Image)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.vyplň(Shape, Image)
,
Obrázok.vyplň(String)
,
Obrázok.vyplň(Image)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(Image)
public static void pootocenieVyplne(double uhol)
Alias pre pootočenieVýplne
.
public static void otočenieVýplne(double uhol, double sx, double sy)
Nastaví nový uhol pootočenia a zároveň nový relatívny stred
otáčania obrázkových dlaždicových výplní.
Každé ďalšie spustenie niektorého z príkazov vypĺňania bude
pracovať s novými parametrami.
Predvolené je nulové, to jest žiadne, pootočenie so stredom
otáčania [0, 0], ktorý označuje bod relatívneho posunutia textúry –
pozri príkaz posunutieVýplne(x, y)
.
uhol
– nový uhol pootočenia obrázkových dlaždicových výplnísx
– x-ová súradnica nového relatívneho stredu otáčania
obrázkových dlaždicových výplnísy
– y-ová súradnica nového relatívneho stredu otáčania
obrázkových dlaždicových výplníotočenieVýplne()
,
posunutieVýplne(double, double)
,
mierkaVýplne(double)
,
mierkaVýplne(double, double)
,
otočenieVýplne(double)
,
stredOtáčaniaVýplne(double, double)
,
GRobot.vyplňTvar(Shape, String)
,
GRobot.vyplňTvar(Shape, Image)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vyplňOblasť(Area, Image)
,
Plátno.vyplň(String)
,
Plátno.vyplň(Image)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.vyplň(Shape, Image)
,
Obrázok.vyplň(String)
,
Obrázok.vyplň(Image)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(Image)
public static void otocenieVyplne(double uhol, double sx, double sy)
Alias pre otočenieVýplne
.
public static void pootočenieVýplne(double uhol, double sx, double sy)
Nastaví nový uhol pootočenia a zároveň nový relatívny stred
otáčania obrázkových dlaždicových výplní.
Každé ďalšie spustenie niektorého z príkazov vypĺňania bude
pracovať s novými parametrami.
Predvolené je nulové, to jest žiadne, pootočenie so stredom
otáčania [0, 0], ktorý označuje bod relatívneho posunutia textúry –
pozri príkaz posunutieVýplne(x, y)
.
uhol
– nový uhol pootočenia obrázkových dlaždicových výplnísx
– x-ová súradnica nového relatívneho stredu otáčania
obrázkových dlaždicových výplnísy
– y-ová súradnica nového relatívneho stredu otáčania
obrázkových dlaždicových výplnípootočenieVýplne()
,
posunutieVýplne(double, double)
,
mierkaVýplne(double)
,
mierkaVýplne(double, double)
,
pootočenieVýplne(double)
,
stredOtáčaniaVýplne(double, double)
,
GRobot.vyplňTvar(Shape, String)
,
GRobot.vyplňTvar(Shape, Image)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vyplňOblasť(Area, Image)
,
Plátno.vyplň(String)
,
Plátno.vyplň(Image)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.vyplň(Shape, Image)
,
Obrázok.vyplň(String)
,
Obrázok.vyplň(Image)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(Image)
public static void pootocenieVyplne(double uhol, double sx, double sy)
Alias pre pootočenieVýplne
.
public static void otočenieVýplne(Smer smer)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol)
. Rozdielom
je, že namiesto číselnej hodnoty smeru prijíma objekt, ktorý
musí byť implementáciou rozhrania Smer
. Inak
funguje táto metóda úplne rovnako ako spomenutá metóda.
Všetky informácie uvedené v jej opise sú tiež relevantné,
preto odporúčame prečítať si aj jej opis.
smer
– objekt určujúci nový uhol pootočenia výplníotočenieVýplne(double)
public static void otocenieVyplne(Smer smer)
Alias pre otočenieVýplne
.
public static void pootočenieVýplne(Smer smer)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol)
.
Rozdielom je, že namiesto číselnej hodnoty smeru prijíma objekt,
ktorý musí byť implementáciou rozhrania Smer
. Inak
funguje táto metóda úplne rovnako ako spomenutá metóda.
Všetky informácie uvedené v jej opise sú tiež relevantné,
preto odporúčame prečítať si aj jej opis.
smer
– objekt určujúci nový uhol pootočenia výplnípootočenieVýplne(double)
public static void pootocenieVyplne(Smer smer)
Alias pre pootočenieVýplne
.
public static void otočenieVýplne(Smer smer, double sx, double sy)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto číselnej
hodnoty smeru prijíma objekt, ktorý musí byť implementáciou
rozhrania Smer
. Inak funguje táto metóda úplne
rovnako ako spomenutá metóda. Všetky informácie uvedené v jej
opise sú tiež relevantné, preto odporúčame prečítať si aj jej opis.
smer
– objekt určujúci nový uhol pootočenia výplnísx
– nová x-ová súradnica relatívneho posunutia stredu
otáčania výplnísy
– nová y-ová súradnica relatívneho posunutia stredu
otáčania výplníotočenieVýplne(double, double, double)
public static void otocenieVyplne(Smer smer, double sx, double sy)
Alias pre otočenieVýplne
.
public static void otočenieVýplne(double uhol, Poloha poloha)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto dvoch
samostatných súradníc určujúcich vysunutie stredu otáčania prijíma
objekt, ktorého polohu použije v relatívnom kontexte namiesto
priameho zadania hodnôt súradníc (čiže absolútne súradnice polohy
objektu použije priamo ako relatívne hodnoty – nie je vykonaný
žiadny prepočet). Inak funguje táto metóda úplne rovnako ako
spomenutá metóda. Všetky informácie uvedené v jej opise sú tiež
relevantné, preto odporúčame prečítať si aj jej opis.
uhol
– nový uhol pootočenia výplnípoloha
– objekt určujúci nové relatívne posunutie
stredu otáčania výplníotočenieVýplne(double, double, double)
public static void otocenieVyplne(double uhol, Poloha poloha)
Alias pre otočenieVýplne
.
public static void otočenieVýplne(Smer smer, Poloha poloha)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto číselnej
hodnoty smeru prijíma objekt, ktorý musí byť implementáciou
rozhrania Smer
a namiesto dvoch samostatných súradníc
určujúcich vysunutie stredu otáčania prijíma objekt, ktorého
polohu použije v relatívnom kontexte namiesto priameho zadania
hodnôt súradníc (čiže absolútne súradnice polohy objektu použije
priamo ako relatívne hodnoty – nie je vykonaný žiadny prepočet).
Inak funguje táto metóda úplne rovnako ako spomenutá metóda.
Všetky informácie uvedené v jej opise sú tiež relevantné, preto
odporúčame prečítať si aj jej opis.
smer
– objekt určujúci nový uhol pootočenia výplnípoloha
– objekt určujúci nové relatívne posunutie
stredu otáčania výplníotočenieVýplne(double, double, double)
public static void otocenieVyplne(Smer smer, Poloha poloha)
Alias pre otočenieVýplne
.
public static void otočenieVýplne(double uhol, Shape tvar)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto dvoch
samostatných súradníc určujúcich vysunutie stredu otáčania prijíma
objekt, ktorého polohu použije v relatívnom kontexte namiesto
priameho zadania hodnôt súradníc (čiže absolútne súradnice polohy
objektu použije priamo ako relatívne hodnoty – nie je vykonaný
žiadny prepočet). Inak funguje táto metóda úplne rovnako ako
spomenutá metóda. Všetky informácie uvedené v jej opise sú tiež
relevantné, preto odporúčame prečítať si aj jej opis.
uhol
– nový uhol pootočenia výplnítvar
– objekt určujúci nové relatívne posunutie
stredu otáčania výplníotočenieVýplne(double, double, double)
public static void otocenieVyplne(double uhol, Shape tvar)
Alias pre otočenieVýplne
.
public static void otočenieVýplne(Smer smer, Shape tvar)
Táto metóda funguje podobne ako metóda
otočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto číselnej
hodnoty smeru prijíma objekt, ktorý musí byť implementáciou
rozhrania Smer
a namiesto dvoch samostatných súradníc
určujúcich vysunutie stredu otáčania prijíma objekt, ktorého
polohu použije v relatívnom kontexte namiesto priameho zadania
hodnôt súradníc (čiže absolútne súradnice polohy objektu použije
priamo ako relatívne hodnoty – nie je vykonaný žiadny prepočet).
Inak funguje táto metóda úplne rovnako ako spomenutá metóda.
Všetky informácie uvedené v jej opise sú tiež relevantné, preto
odporúčame prečítať si aj jej opis.
smer
– objekt určujúci nový uhol pootočenia výplnítvar
– objekt určujúci nové relatívne posunutie
stredu otáčania výplníotočenieVýplne(double, double, double)
public static void otocenieVyplne(Smer smer, Shape tvar)
Alias pre otočenieVýplne
.
public static void pootočenieVýplne(Smer smer, double sx, double sy)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto
číselnej hodnoty smeru prijíma objekt, ktorý musí byť
implementáciou rozhrania Smer
. Inak funguje táto
metóda úplne rovnako ako spomenutá metóda. Všetky informácie
uvedené v jej opise sú tiež relevantné, preto odporúčame prečítať
si aj jej opis.
smer
– objekt určujúci nový uhol pootočenia výplnísx
– nová x-ová súradnica relatívneho posunutia stredu
otáčania výplnísy
– nová y-ová súradnica relatívneho posunutia stredu
otáčania výplnípootočenieVýplne(double, double, double)
public static void pootocenieVyplne(Smer smer, double sx, double sy)
Alias pre pootočenieVýplne
.
public static void pootočenieVýplne(double uhol, Poloha poloha)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto dvoch
samostatných súradníc určujúcich vysunutie stredu otáčania prijíma
objekt, ktorého polohu použije v relatívnom kontexte namiesto
priameho zadania hodnôt súradníc (čiže absolútne súradnice polohy
objektu použije priamo ako relatívne hodnoty – nie je vykonaný
žiadny prepočet). Inak funguje táto metóda úplne rovnako ako
spomenutá metóda. Všetky informácie uvedené v jej opise sú tiež
relevantné, preto odporúčame prečítať si aj jej opis.
uhol
– nový uhol pootočenia výplnípoloha
– objekt určujúci nové relatívne posunutie
stredu otáčania výplnípootočenieVýplne(double, double, double)
public static void pootocenieVyplne(double uhol, Poloha poloha)
Alias pre pootočenieVýplne
.
public static void pootočenieVýplne(Smer smer, Poloha poloha)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto
číselnej hodnoty smeru prijíma objekt, ktorý musí byť
implementáciou rozhrania Smer
a namiesto dvoch
samostatných súradníc určujúcich vysunutie stredu otáčania prijíma
objekt, ktorého polohu použije v relatívnom kontexte namiesto
priameho zadania hodnôt súradníc (čiže absolútne súradnice polohy
objektu použije priamo ako relatívne hodnoty – nie je vykonaný
žiadny prepočet). Inak funguje táto metóda úplne rovnako ako
spomenutá metóda. Všetky informácie uvedené v jej opise sú tiež
relevantné, preto odporúčame prečítať si aj jej opis.
smer
– objekt určujúci nový uhol pootočenia výplnípoloha
– objekt určujúci nové relatívne posunutie
stredu otáčania výplnípootočenieVýplne(double, double, double)
public static void pootocenieVyplne(Smer smer, Poloha poloha)
Alias pre pootočenieVýplne
.
public static void pootočenieVýplne(double uhol, Shape tvar)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto dvoch
samostatných súradníc určujúcich vysunutie stredu otáčania prijíma
objekt, ktorého polohu použije v relatívnom kontexte namiesto
priameho zadania hodnôt súradníc (čiže absolútne súradnice polohy
objektu použije priamo ako relatívne hodnoty – nie je vykonaný
žiadny prepočet). Inak funguje táto metóda úplne rovnako ako
spomenutá metóda. Všetky informácie uvedené v jej opise sú tiež
relevantné, preto odporúčame prečítať si aj jej opis.
uhol
– nový uhol pootočenia výplnítvar
– objekt určujúci nové relatívne posunutie
stredu otáčania výplnípootočenieVýplne(double, double, double)
public static void pootocenieVyplne(double uhol, Shape tvar)
Alias pre pootočenieVýplne
.
public static void pootočenieVýplne(Smer smer, Shape tvar)
Táto metóda funguje podobne ako metóda
pootočenieVýplne(uhol, sx, sy)
. Rozdielom je, že namiesto
číselnej hodnoty smeru prijíma objekt, ktorý musí byť
implementáciou rozhrania Smer
a namiesto dvoch
samostatných súradníc určujúcich vysunutie stredu otáčania
prijíma objekt, ktorého polohu použije v relatívnom kontexte
namiesto priameho zadania hodnôt súradníc (čiže absolútne
súradnice polohy objektu použije priamo ako relatívne hodnoty –
nie je vykonaný žiadny prepočet). Inak funguje táto metóda úplne
rovnako ako spomenutá metóda. Všetky informácie uvedené v jej
opise sú tiež relevantné, preto odporúčame prečítať si aj jej
opis.
smer
– objekt určujúci nový uhol pootočenia výplnítvar
– objekt určujúci nové relatívne posunutie
stredu otáčania výplnípootočenieVýplne(double, double, double)
public static void pootocenieVyplne(Smer smer, Shape tvar)
Alias pre pootočenieVýplne
.
public static Bod stredOtáčaniaVýplne()
Vráti bod so súradnicami relatívneho posunutia stredu otáčania obrázkových dlaždicových výplní vztiahnutý k súradniciam posunutia výplne.
Bod
určujúci súradnice
relatívneho posunutia stredu otáčania obrázkových
dlaždicových výplní vztiahnutý k súradniciam posunutia výplnestredOtáčaniaVýplne(double, double)
,
posunutieVýplne()
,
mierkaVýplne()
,
otočenieVýplne()
public static Bod stredOtacaniaVyplne()
Alias pre stredOtáčaniaVýplne
.
public static void stredOtáčaniaVýplne(double sx, double sy)
Nastaví nový relatívny stred otáčania obrázkových dlaždicových
výplní. Každé ďalšie spustenie niektorého z príkazov vypĺňania
bude pracovať s novými parametrami. Tento parameter má na textúru
vplyv len pri nenulovom uhle pootočenia výplní.
Predvolený stred otáčania [0, 0] označuje bod relatívneho
posunutia textúry – pozri príkaz posunutieVýplne(x, y)
.
uhol
– nový uhol pootočenia obrázkových dlaždicových výplnísx
– x-ová súradnica nového relatívneho stredu otáčania
obrázkových dlaždicových výplnísy
– y-ová súradnica nového relatívneho stredu otáčania
obrázkových dlaždicových výplnístredOtáčaniaVýplne()
,
posunutieVýplne(double, double)
,
mierkaVýplne(double)
,
mierkaVýplne(double, double)
,
otočenieVýplne(double)
,
otočenieVýplne(double, double, double)
,
GRobot.vyplňTvar(Shape, String)
,
GRobot.vyplňTvar(Shape, Image)
,
GRobot.vyplňOblasť(Area, String)
,
GRobot.vyplňOblasť(Area, Image)
,
Plátno.vyplň(String)
,
Plátno.vyplň(Image)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.vyplň(Shape, Image)
,
Obrázok.vyplň(String)
,
Obrázok.vyplň(Image)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(Image)
public static void stredOtacaniaVyplne(double sx, double sy)
Alias pre stredOtáčaniaVýplne
.
public static void stredOtáčaniaVýplne(Poloha poloha)
Táto metóda funguje podobne ako metóda
stredOtáčaniaVýplne(sx, sy)
. Rozdielom je, že namiesto dvoch
samostatných súradníc určujúcich vysunutie stredu otáčania
prijíma objekt, ktorého polohu použije v relatívnom kontexte
namiesto priameho zadania hodnôt súradníc (čiže absolútne
súradnice polohy objektu použije priamo ako relatívne hodnoty –
nie je vykonaný žiadny prepočet). Inak funguje táto metóda úplne
rovnako ako spomenutá metóda. Všetky informácie uvedené v jej
opise sú tiež relevantné, preto odporúčame prečítať si aj jej opis.
poloha
– objekt určujúci nové relatívne posunutie
stredu otáčania výplnístredOtáčaniaVýplne(double, double)
public static void stredOtacaniaVyplne(Poloha poloha)
Alias pre stredOtáčaniaVýplne
.
public static void stredOtáčaniaVýplne(Shape tvar)
Táto metóda funguje podobne ako metóda
stredOtáčaniaVýplne(sx, sy)
. Rozdielom je, že namiesto dvoch
samostatných súradníc určujúcich vysunutie stredu otáčania
prijíma objekt, ktorého polohu použije v relatívnom kontexte
namiesto priameho zadania hodnôt súradníc (čiže absolútne
súradnice polohy objektu použije priamo ako relatívne hodnoty –
nie je vykonaný žiadny prepočet). Inak funguje táto metóda úplne
rovnako ako spomenutá metóda. Všetky informácie uvedené v jej
opise sú tiež relevantné, preto odporúčame prečítať si aj jej opis.
tvar
– objekt určujúci nové relatívne posunutie
stredu otáčania výplnístredOtáčaniaVýplne(double, double)
public static void stredOtacaniaVyplne(Shape tvar)
Alias pre stredOtáčaniaVýplne
.
public static void posunutieVýplneNaMyš()
Táto metóda číta súradnice myši, ktoré použije na posunutie
počiatku obrázkových výplní. Funguje tak, ako keby sme do metódy
posunutieVýplne(x, y)
zadali súradnice myši namiesto parametrov. Informácie nachádzajúce
sa v opise uvedenej metódy sú relevantné aj v prípade tejto
metódy, preto odporúčame prečítať si ho.
posunutieVýplne(double, double)
public static void posunutieVyplneNaMys()
Alias pre posunutieVýplneNaMyš
.
public static void otočenieVýplneNaMyš()
Táto metóda použije súradnice myši na vypočítanie nového pootočenia obrázkových výplní. Najprv prevezme súradnice myši, vypočíta z nich uhol smerom k aktuálnemu stredu otáčania obrázkových výplní a uhol použije na nastavenie nového pootočenia.
Metóda funguje tak, ako keby sme vypočítaný uhol zadali ako
parameter do metódy otočenieVýplne(uhol)
. Informácie nachádzajúce sa v opise
uvedenej metódy sú relevantné aj pre túto metódu, preto
odporúčame prečítať si aj jej opis.
otočenieVýplne(double)
public static void otocenieVyplneNaMys()
Alias pre otočenieVýplneNaMyš
.
public static void pootočenieVýplneNaMyš()
Táto metóda použije súradnice myši na vypočítanie nového pootočenia obrázkových výplní. Najprv prevezme súradnice myši, vypočíta z nich uhol smerom k aktuálnemu stredu otáčania obrázkových výplní a uhol použije na nastavenie nového pootočenia.
Metóda funguje tak, ako keby sme vypočítaný uhol zadali ako
parameter do metódy pootočenieVýplne(uhol)
. Informácie nachádzajúce sa v opise
uvedenej metódy sú relevantné aj pre túto metódu, preto
odporúčame prečítať si aj jej opis.
pootočenieVýplne(double)
public static void pootocenieVyplneNaMys()
Alias pre pootočenieVýplneNaMyš
.
public static void stredOtáčaniaVýplneNaMyš()
Táto metóda číta súradnice myši, ktoré použije na nastavenie
nového relatívneho stredu otáčania obrázkových výplní.
Funguje tak, ako keby sme do parametrov metódy
stredOtáčaniaVýplne(sx, sy)
zadali rozdiel súradníc myši
a aktuálnych hodnôt posunutia textúr. Informácie nachádzajúce sa
v opise dotknutej metódy sú relevantné aj v prípade tejto metódy,
preto odporúčame prečítať si ho.
stredOtáčaniaVýplne(double, double)
public static void stredOtacaniaVyplneNaMys()
Alias pre stredOtáčaniaVýplneNaMyš
.
public static void kresli(Shape tvar, GRobot kreslič)
Táto metóda slúži na kreslenie obrysov zadaného tvaru na podlahu.
Metóda potrebuje na svoje správne fungovanie robota „kresliča,“
ktorého farbu a štýl čiary použije na kreslenie. Ak je do metódy
namiesto konkrétneho kresliča zadaná hodnota null
, tak
je na získanie parametrov kreslenia použitý hlavný robot. Spustenie tejto metódy má rovnaký
efekt, ako keby sme volali metódu
podlaha.kresli(tvar,
kreslič)
.
tvar
– objekt typu Shape
, ktorý bude
nakreslený aktuálnym štýlom čiary a farbou zadaného robota
(„kresliča“)kreslič
– grafický robot, ktorého parametre budú použité
na kreslenie alebo null
kresli(Shape)
,
vyplň(Shape, GRobot)
,
vyplň(Shape)
public static void vyplň(Shape tvar, GRobot kreslič)
Táto metóda slúži na kreslenie vyplnených tvarov na podlahu.
Metóda potrebuje na svoje správne fungovanie robota „kresliča,“
ktorého farbu použije na vyplnenie zadaného tvaru. Ak je do metódy
namiesto konkrétneho kresliča zadaná hodnota null
, tak
je na získanie parametrov kreslenia použitý hlavný robot. Spustenie tejto metódy má rovnaký
efekt, ako keby sme volali metódu
podlaha.vyplň(tvar,
kreslič)
.
tvar
– objekt typu Shape
, ktorý bude vyplnený
aktuálnou farbou zadaného robota („kresliča“)kreslič
– grafický robot, ktorého parametre budú použité
na kreslenie alebo null
kresli(Shape, GRobot)
,
kresli(Shape)
,
vyplň(Shape)
public static void kresli(Shape tvar)
Táto metóda slúži na kreslenie obrysov zadaného tvaru na podlahu.
Metóda používa na získanie parametrov kreslenia (štýlu a farby
čiary) hlavného robota. Spustenie
tejto metódy má rovnaký efekt, ako keby sme volali metódu
podlaha.kresli(tvar)
.
tvar
– objekt typu Shape
, ktorý bude
nakreslený aktuálnym štýlom čiary a farbou hlavného robotakresli(Shape, GRobot)
,
vyplň(Shape, GRobot)
,
vyplň(Shape)
public static void vyplň(Shape tvar)
Táto metóda slúži na kreslenie vyplnených tvarov na podlahu.
Metóda používa na získanie parametrov kreslenia (farby výplne)
hlavného robota. Spustenie tejto
metódy má rovnaký efekt, ako keby sme volali metódu
podlaha.vyplň(tvar)
.
tvar
– objekt typu Shape
, ktorý bude vyplnený
farbou hlavného robotakresli(Shape, GRobot)
,
kresli(Shape)
,
vyplň(Shape, GRobot)
public static void priehľadnosť(double prePodlahu, double preStrop)
Naraz nastaví priehľadnosť pre podlahu aj strop.
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)
,
Plátno.priehľadnosť(double)
,
Plátno.priehľadnosť()
,
Plátno.upravPriehľadnosť(double)
public static void priehladnost(double prePodlahu, double preStrop)
Alias pre priehľadnosť
.
public static void upravPriehľadnosť(double prePodlahu, double preStrop)
Naraz upraví úroveň
priehľadnosti pre podlahu aj strop. Parametre sú koeficienty,
ktorými bude násobená aktuálna úroveň priehľadnosti stanoveného
plátna – ak napríklad zadáme 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í (z dôvodu obsluhy časovača):
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
();
Výsledok:
|
|
|
Poznámka: Ak by sme chceli vytvoriť plynulý prechod priehľadnosti medzi dvomi kresbami pokrývajúcimi celé plátna, tak by bolo lepšie, keby sme postupovali tak, že by sme na začiatku nastavili obom plátnam úplnú nepriehľadnosť, spodnému plátnu by sme ponechali nepriehľadnosť nezmenenú a nepriehľadnosť horného plátna by sme plynule znižovali. Avšak pre nepravidelné kresby alebo rôzne veľkosti obrázkov by tento postup nefugoval. Podobne by sme s týmto prístupom neuspeli, keby sme chceli, aby bolo počas prelivu vidno určité (napríklad vzorkované) pozadie, ktoré by nebolo súčasťou ani jednej z kresieb.
prePodlahu
– koeficient zmeny úrovne priehľadnosti podlahypreStrop
– koeficient zmeny úrovne priehľadnosti stropupriehľadnosť(double, double)
,
Plátno.upravPriehľadnosť(double)
,
Plátno.priehľadnosť(double)
,
Plátno.priehľadnosť()
,
Plátno.upravPriehľadnosť(double)
public static void upravPriehladnost(double prePodlahu, double preStrop)
Alias pre upravPriehľadnosť
.
public static boolean kreslenie()
Overí, či je automatické prekresľovanie sveta zapnuté. Vypnutie
automatického prekresľovania zabezpečuje metóda nekresli
, zapnutie zase metóda kresli
.
Poznámka: Predvolená implementácia
automatického prekresľovania sveta nie je efektívna (ale má
svoje príčiny). Pozrite si komentáre a príklady v opisoch metód
prekresli
a nebolPrekreslený
.
true
ak je automatické prekresľovanie zapnuté,
false
ak je vypnuténebolPrekreslený()
,
nekresli()
,
kresli()
,
prekresli()
,
žiadajPrekreslenie()
public static boolean nebolPrekreslený()
Zistí stav príznaku zamietnutej požiadavky na automatické
prekreslenie. Ak je hodnota tohto príznaku rovná 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).
Táto metóda súvisí s vypnutím predvolenej implementácie automatického prekresľovania, ktoré i tak nie je efektívne. Nasledujúci príklad ukazuje lepší spôsob implementácie automatického (resp. pravidelného) prekresľovania. Ide o pravidelnú kontrolu nevyhnutnoti prekresľovanie sveta s využitím tejto metódy a prekreslenie v prípade potreby. (Ide vlastne o implementáciu prekresľovania v jednotkách snímok za sekundu – frames per second – FPS.)
Tento spôsob prekresľovania je v súvislosti s počítačovou grafikou ideálny, ale nemohol byť implementovaný v rámci programovacieho rámca predvolene, pretože by vyžadoval implicitné zapnutie časovača so stanovením predvoleného času obnovovania (čomu sa autor programovaceho rámca chcel vyhnúť). Pri implementácii programovacieho rámca bolo cieľom:
To viedlo k predvolenej implementácii automatického prekresľovania v súčasnej podobe, čiže po každej zmene plátna. Voľba tohto prístupu bola pri vzatí do úvahy uvedených cieľov najlepšou možnosťou. Tento nevýhodný spôsob vykresľovania sa dá vypnúť a nahradiť iným lepším spôsobom, napríklad tým, ktorý ukazuje nasledujúci príklad. Vďaka tomu môže učiteľ študentom ukázať výhody a nevýhody rôznych prístupov a vysvetliť dôvody ich použitia.
Dôležité upozornenie! V rámci používania
programovacieho rámca môžu nastať určité špeciálne situácie, kedy nie
je automaticky rozpoznaná potreba prekreslenia, napríklad pri použití
vlastných metód obrázka na jeho úpravu, pričom obrázok je nastavený
ako vlastný tvar niektorému z robotov. Nepoužívajte v takom
prípade príkaz Svet.prekresli()
!
Na tento účel je rezervovaný príkaz
Svet.žiadajPrekreslenie()
.
Príklad:
import
knižnica.*;public
class
TestPrekresľovaniaextends
GRobot
{private
TestPrekresľovania() {super
(300
,200
);// nadradený konštruktor upraví veľkosť plátna
Svet
.nekresli
();// vypne predvolený spôsob automatického prekresľovania
// V nasledujúcej obsluje udalostí (v reakcii tik) bude zabezpečené
// pravidelné prekresľovanie:
new
ObsluhaUdalostí
() {@
Overridepublic
void
tik
() {// Ak je treba, tak prekresli svet…
if
(Svet
.neboloPrekreslené
())Svet
.prekresli
(); }// …
// Obsluha prípadných ďalších udalostí…
// …
};Svet
.spustiČasovač
();// Príklad časovo náročnej činnosti (pri zapnutom pôvodnom
// automatickom prekresľovaní by bola časovo ešte náročnejšia, pretože
// prekreslenie by nastalo po každom príkaze v tele cyklu – dokončenie
// vykonávania cyklu by trvalo možno aj niekoľko minút; takto sa celý
// príklad vykoná za necelú sekundu…):
for
(int
i =0
; i <1000000
; ++i) {náhodnáPoloha
();bod
(); } }public
static
void
main(String
... args) {// Príkaz „Svet.nekresli()“ môže byť prípadne uvedený aj tu…
Svet
.použiKonfiguráciu
("test-prekresľovania.cfg"
);new
TestPrekresľovania(); } }
Výsledok:
Niekoľko obrázkov zobrazujúcich priebeh zapĺňania plátna bodmi počas vykonávania tohto príkladu. |
Poznámka: Pozrite si aj komentáre a príklad
v opise metódy prekresli
.
true
ak vznikla požiadavka na automatické
prekreslenie, zapnuté, no bola zamietnutá (napríklad
v dôsledku vypnutia automatického prekresľovania – pozri aj:
nekresli
); false
v opačnom
prípadekreslenie()
,
nekresli()
,
kresli()
,
prekresli()
,
žiadajPrekreslenie()
public static boolean nebolPrekresleny()
Alias pre nebolPrekreslený
.
public static boolean neboloPrekreslené()
Alias pre nebolPrekreslený
.
public static boolean neboloPrekreslene()
Alias pre nebolPrekreslený
.
public static void nekresli()
Vypne predvolenú implementáciu automatického prekresľovanie sveta. Tá funguje tak, že prekresľovanie sveta je automaticky vykonávané po rôznych aktivitách robotov (zmena polohy, orientácie a podobne), pri zmene niektorých parametrov sveta, prípadne pri inej relevantnej príležitosti (to jest vždy, keď je pravdepodobné, že sa niečo na plátnach sveta vizuálne zmenilo).
Vypnutie automatického prekresľovania môže značne zvýšiť
grafickú efektívnosť aplikácie, aby sme však po jeho vypnutí
mohli vidieť výsledok kreslenia, musíme vždy (po akejkoľvek zmene,
ktorá by sa mohla prejaviť graficky) použiť metódu prekresli
(napríklad pravidelne po určitom počte
vykonaných príkazov, alebo v pravidelných časových intervaloch,
prípadne po overení potreby prekreslenia sveta metódou
nebolPrekreslený
). Túto predvolenú
implementáciu automatického prekresľovania sveta opätovne
zapneme metódou kresli
.
Poznámka: Predvolená implementácia
automatického prekresľovania sveta nie je efektívna, i keď má
svoje príčiny. Pozrite si komentáre a príklady v opisoch metód
prekresli
a nebolPrekreslený
.
kreslenie()
,
nebolPrekreslený()
,
kresli()
,
prekresli()
,
žiadajPrekreslenie()
public static void kresli()
Zapne automatické prekresľovanie sveta, ktoré bolo vypnuté metódou
nekresli
. Ak nechceme prekresľovanie zapnúť,
ale chceme napríklad vidieť, čo medzičasom nakreslil niektorý
robot, môžeme použiť metódu prekresli
.
Poznámka: Predvolená implementácia
automatického prekresľovania sveta nie je efektívna (ale má
svoje príčiny). Pozrite si komentáre a príklady v opisoch metód
prekresli
a nebolPrekreslený
.
kreslenie()
,
nebolPrekreslený()
,
nekresli()
,
prekresli()
,
žiadajPrekreslenie()
public static void prekresli()
Jednorazovo prekreslí obsah sveta (bez ohľadu na použitie metódy
nekresli
).
To znamená, že metóda prekreslí obsah sveta bez ohľadu na
nastavenie automatického prekresľovania (pozri napríklad metódu
nekresli
). 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:
vypíš
, vypíšRiadok
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“ (tenkých obručí) 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
();
Nová Zem sa bude vykresľovať po fázach, výsledok bude náhodný a môže vyzerať napríklad takto:
Poznámka: Táto metóda súvisí s vypnutím
predvolenej implementácie automatického prekresľovania, ktoré i tak
nie je efektívne. Pozrite si aj komentáre a príklad v opise metódy
nebolPrekreslený
.
kreslenie()
,
nebolPrekreslený()
,
nekresli()
,
kresli()
,
žiadajPrekreslenie()
public static void žiadajPrekreslenie()
Nastaví vnútorný príznak (stav) prekreslenia sveta tak, aby metóda
nebolPrekreslený
vrátila hodnotu
true
. Táto metóda nedokáže zabezpečiť prekreslenie sveta.
Jej účelom je len nastaviť uvedený príznak. Využitie nájde
v prípadoch, kedy je vypnuté automatické prekresľovanie sveta
a čas (interval) prekresľovania určuje aplikácia. (Pozri aj
upozornenie v opise metódy nebolPrekreslený
.)
kreslenie()
,
nebolPrekreslený()
,
nekresli()
,
kresli()
,
prekresli()
public static void ziadajPrekreslenie()
Alias pre žiadajPrekreslenie
.
public static void vymažPonuku()
Vymaže všetky položky hlavnej ponuky (vrátane predvolených). Metóda automaticky skryje hlavnú ponuku. Viditeľnosť ponuky je automaticky obnovená po začatí pridávania položiek.
public static void vymazPonuku()
Alias pre vymažPonuku
.
public static void pridajPoložkuHlavnejPonuky(String text)
Rozšíri hlavnú ponuku o ďalšiu položku alebo prepíše aktuálnu
položku hlavnej ponuky. Aktuálna hlavná položka je prepísaná
v prípade, že zatiaľ neobsauje žiadne podpoložky (pozri pridajPoložkuPonuky
alebo jej
„klony“).
text
– reťazec textu pridávanej položkyPoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuHlavnejPonuky(String, int)
,
premenujPoložkuHlavnejPonuky(int, String)
,
pridajPoložkuPonuky(String)
,
pridajVnorenúPonuku(String, JMenuItem...)
,
pridajOddeľovačPonuky()
public static void pridajPolozkuHlavnejPonuky(String text)
Alias pre pridajPoložkuHlavnejPonuky
.
public 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. Aktuálna hlavná položka je prepísaná
v prípade, že zatiaľ neobsauje žiadne podpoložky (pozri 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
)PoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuHlavnejPonuky(String)
,
premenujPoložkuHlavnejPonuky(int, String, int)
,
pridajPoložkuPonuky(String, int)
,
pridajVnorenúPonuku(String, JMenuItem...)
,
pridajOddeľovačPonuky()
public static void pridajPolozkuHlavnejPonuky(String text, int mnemonickáSkratka)
Alias pre pridajPoložkuHlavnejPonuky
.
public static boolean premenujPoložkuHlavnejPonuky(int ktorá, String text)
Premenuje zadanú položku hlavnej ponuky. (Cieľom tejto metódy
je uľahčiť jazykovú lokalizáciu.) Prvý parameter je index
(„poradové číslo“ začínajúce od nuly) položky, ktorá má byť
premenovaná. Ak nastane chyba (napríklad položka so zadaným
indexom nejestvuje), tak metóda vráti hodnotu false
.
ktorá
– index položky, ktorej text má byť zmenenýtext
– nové znenie textu položkytrue
ak akcia uspelapremenujPoložkuHlavnejPonuky(int, String, int)
,
pridajPoložkuHlavnejPonuky(String)
public static boolean premenujPolozkuHlavnejPonuky(int ktorá, String text)
Alias pre premenujPoložkuHlavnejPonuky
.
public static boolean premenujPoložkuHlavnejPonuky(int ktorá, String text, int mnemonickáSkratka)
Premenuje zadanú položku hlavnej ponuky. (Cieľom tejto metódy
je uľahčiť jazykovú lokalizáciu.) Prvý parameter je index
(„poradové číslo“ začínajúce od nuly) položky, ktorá má byť
premenovaná. Ak nastane chyba (napríklad položka so zadaným
indexom nejestvuje), tak metóda vráti hodnotu false
.
Význam parametra mnemonickáSkratka
je rovnaký ako
pri metóde pridajPoložkuPonuky(text, mnemonickáSkratka)
.
ktorá
– index položky, ktorej text má byť zmenenýtext
– nové znenie textu položkymnemonickáSkratka
– kód mnemonickej skratky (príklad:
Kláves.VK_A
)true
ak akcia uspelapremenujPoložkuHlavnejPonuky(int, String)
,
pridajPoložkuHlavnejPonuky(String, int)
public static boolean premenujPolozkuHlavnejPonuky(int ktorá, String text, int mnemonickáSkratka)
Alias pre premenujPoložkuHlavnejPonuky
.
public static PoložkaPonuky pridajPoložkuPonuky(String text)
Pridá do hlavnej ponuky položku so zadaným textom. Zvolenie položky
vyvolá reakciu voľbaPoložkyPonuky
v triede obsluhy udalostí. V tej je možné
položku identifikovať pomocou metódy
ÚdajeUdalostí.položkaPonuky
ktorá vracia 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 naposledy aktivovaná.
text
– reťazec textu pridávanej položky ponukyPoložkaPonuky
) alebo null
ak nastala chybaPoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuPonuky(String, int)
,
pridajPoložkuPonuky(String, int, int)
,
pridajVnorenúPonuku(String, JMenuItem...)
,
pridajOddeľovačPonuky()
,
pridajPoložkuPonukyVymazať()
,
pridajPoložkuPonukyPrekresliť()
,
pridajPoložkuPonukyKoniec()
public static PolozkaPonuky pridajPolozkuPonuky(String text)
Alias pre pridajPoložkuPonuky
.
public static PoložkaPonuky pridajPoložkuPonuky(String text, int mnemonickáSkratka)
Funguje rovnako ako pridajPoložkuPonuky(String text)
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 programovacom rámci na zjednodušenie prístupu prekrytá triedou
Kláves
, takže môžeme použiť napríklad konštanty
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 chybaPoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuPonuky(String)
,
pridajPoložkuPonuky(String, int, int)
,
pridajVnorenúPonuku(String, JMenuItem...)
,
pridajOddeľovačPonuky()
,
pridajPoložkuPonukyVymazať()
,
pridajPoložkuPonukyPrekresliť()
,
pridajPoložkuPonukyKoniec()
public static PolozkaPonuky pridajPolozkuPonuky(String text, int mnemonickáSkratka)
Alias pre pridajPoložkuPonuky
.
public static PoložkaPonuky pridajPoložkuPonuky(String text, int mnemonickáSkratka, int klávesováSkratka)
Funguje rovnako ako pridajPoložkuPonuky(String text,
int mnemonickáSkratka)
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 programovacom rámci
na zjednodušenie prístupu prekrytá triedou Kláves
,
takže môžeme použiť napríklad konštanty 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 chybaPoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuPonuky(String)
,
pridajPoložkuPonuky(String, int)
,
pridajVnorenúPonuku(String, JMenuItem...)
,
pridajOddeľovačPonuky()
,
pridajPoložkuPonukyVymazať()
,
pridajPoložkuPonukyPrekresliť()
,
pridajPoložkuPonukyKoniec()
public static PolozkaPonuky pridajPolozkuPonuky(String text, int mnemonickáSkratka, int klávesováSkratka)
Alias pre pridajPoložkuPonuky
.
public static JMenu pridajVnorenúPonuku(String text, JMenuItem... položky)
Vytvorí a pridá do hlavnej ponuky vnorenú ponuku zo zadaných
položiek. Táto metóda bola pridaná podľa vzoru metódy KontextováPonuka.pridajPonuku(text, položky)
na umožnenie vkladania
kaskádových ponúk do hlavnej ponuky. A táto metóda tiež pracuje
s rovnakými pravidlami ako uvedená metóda.
Upozornenie: Do vnorenej ponuky nie je
možné vkladať inštancie triedy PoložkaPonuky
,
pretože tie sú implementované tak, aby sa automaticky pri svojom
vytvorení pridávali do hlavnej ponuky sveta. Je však možné použiť
inštancie triedy KontextováPoložka
. To
má však prirodzený dôsledok, že voľbu takejto položky neobsluhujeme
v rámci reakcie voľbaPoložkyPonuky
, ale voľbaKontextovejPoložky
.
Ak má niektorá zo položiek zadaných v zozname parametrov
položky
hodnotu null
, tak je do ponuky vložený
oddeľovač.
text
– text položky vnorenej ponukypoložky
– zoznam položiekPoložkaPonuky
,
vymažPonuku()
,
pridajPoložkuHlavnejPonuky(String)
,
pridajPoložkuPonuky(String)
,
pridajOddeľovačPonuky()
public static JMenu pridajVnorenuPonuku(String text, JMenuItem... položky)
Alias pre pridajVnorenúPonuku
.
public static void pridajOddeľovačPonuky()
Pridá do hlavnej ponuky oddeľovač. Štandardne je oddeľovač pridaný za prvé dve predvolené položky ponuky. Toto správanie nie je možné potlačiť, iba ak by ponuka bola najskôr vymazaná a znova vytvorená s vlastnou obsluhou nových položiek. Táto metóda slúži na pridávanie vlastných oddeľovačov do ponuky.
public static void pridajOddelovacPonuky()
Alias pre pridajOddeľovačPonuky
.
public static void pridajPoložkuPonukyVymazať()
Pridá do ponuky položku „Vymazať.“ Položka je jednou z preddefinovaných položiek, ktoré majú vopred definovanú funkcionalitu. Táto po zvolení vymaže a prekreslí svet.
public static void pridajPolozkuPonukyVymazat()
Alias pre pridajPoložkuPonukyVymazať
.
public static void pridajPoložkuPonukyPrekresliť()
Pridá do ponuky položku „Prekresliť.“ Položka je jednou z preddefinovaných položiek, ktoré majú vopred definovanú funkcionalitu. Táto vynúti prekreslenie sveta.
public static void pridajPolozkuPonukyPrekreslit()
Alias pre pridajPoložkuPonukyPrekresliť
.
public static void pridajPoložkuPonukyKoniec()
Pridá do ponuky preddefinovanú položku „Koniec.“ Toto je využiteľné keď sme ponuku vymazali a chceme do nej pridať túto položku, ktorej funkcionalita je vopred naprogramovaná.
public static void pridajPolozkuPonukyKoniec()
Alias pre pridajPoložkuPonukyKoniec
.
public static PoložkaPonuky položkaPonukyVymazať()
Poskytne preddefinovanú položku „Vymazať“ na prípadné úpravy. Ak položka doteraz nebola použitá, bude automaticky pridaná do hlavnej ponuky. Toto správanie nie je možné ovplyvniť. Ak je položka v ponuke nežiaduca, je potrebné ju dodatočne odstrániť.
PoložkaPonuky
,
pridajPoložkuPonukyVymazať()
public static PoložkaPonuky polozkaPonukyVymazat()
Alias pre položkaPonukyVymazať
.
public static PoložkaPonuky položkaPonukyPrekresliť()
Poskytne preddefinovanú položku „Prekresliť“ na prípadné úpravy. Ak položka doteraz nebola použitá, bude automaticky pridaná do hlavnej ponuky. Toto správanie nie je možné ovplyvniť. Ak je položka v ponuke nežiaduca, je potrebné ju dodatočne odstrániť.
PoložkaPonuky
,
pridajPoložkuPonukyPrekresliť()
public static PoložkaPonuky polozkaPonukyPrekreslit()
Alias pre položkaPonukyPrekresliť
.
public static PoložkaPonuky položkaPonukyKoniec()
Poskytne preddefinovanú položku „Koniec“ na prípadné úpravy.
PoložkaPonuky
,
pridajPoložkuPonukyKoniec()
public static PoložkaPonuky polozkaPonukyKoniec()
Alias pre položkaPonukyKoniec
.
public static String[] naRiadkyBezZmien(String text)
Rozdelí zadaný reťazec na samostatné riadky bez ďalších úprav.
Metóda berie do úvahy v prvom rade znak nového riadka (new line,
'\n'
, ASCII 10), ktorý smie (ale nemusí) susediť so
znakom návratu vozíka (carriage return, '\r'
, ASCII 13)
z oboch strán a potom (v druhom rade) samostatný znak návratu
vozíka.
text
– text, ktorý má byť rozdelený na riadkydĺžkaRiadka
– maximálna dĺžka jednotlivých riadkov udaná
v znakochtextNaRiadky(String, int)
,
textNaRiadky(String, int, boolean)
public static String[] textNaRiadky(String text, int dĺžkaRiadka)
Rozdelí dlhý text na riadky s maximálnou zadanou dĺžkou v znakoch.
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 znakochtextNaRiadky(String, int, boolean)
,
naRiadkyBezZmien(String)
public static String[] textNaRiadky(String text, int dĺžkaRiadka, boolean zachovajMedzery)
Rozdelí dlhý text na riadky s maximálnou zadanou dĺžkou v znakoch.
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ú medzerutextNaRiadky(String, int)
,
naRiadkyBezZmien(String)
public static CharSequence orež(CharSequence sekvenciu, CharSequence znakmi)
Oreže sekvenciu znakov prvého parametra o znaky zadané do sekvencie znakov druhého parametra. Orezanie v tomto kontexte znamená odstránenie určitých znakov zo začiatku a konca sekvencie, pričom zoznam znakov, ktoré majú byť vynechané obsahuje sekvencia zadaná do druhého parametra.
Niekoľko príkladov tabuliek orezávania:
reťazec/rez | "nami" |
"SR" |
---|---|---|
"Riman" | "R" |
"iman" |
"Ramin" | "R" |
"amin" |
"SONAR" | "SONAR" |
"ONA" |
reťazec/rez | "Kadejkuvyč" |
"Kadejkuvyčž " |
"KadejkuvyčŽ" |
---|---|---|---|
"KedyŽujeŤavaŽuvačku" |
"ŽujeŤavaŽ" |
"ŽujeŤavaŽ" | "Ť" |
"Kedy žuje ťava žuvačku" |
" žuje ťava ž" | "ť" |
" žuje ťava ž" |
reťazec/rez | " " |
"\tnrme " | "\r\n\t" |
"\r\n\ttil" | "\r\n\t " |
---|---|---|---|---|---|
"zrej me " | "zrej me" |
"zrej" | "zrej me " |
"zrej me " | "zrej me" |
" zrej me" | "zrej me" |
"zrej" | " zrej me" |
" zrej me" | "zrej me" |
"\t neo \t \r\n lit\n" |
"\t neo \t \r\n lit\n" |
"o \t \r\n lit\n" |
" neo \t \r\n lit" |
" neo \t \r\n " |
"neo \t \r\n lit" |
"\n lot \t \r\n eni\t" |
"\n lot \t \r\n eni\t" |
"\n lot \t \r\n eni" |
" lot \t \r\n eni" |
" lot \t \r\n en" |
"lot \t \r\n eni" |
" \t\r\n\t " |
"\t\r\n\t" | "\r\n" |
" \t\r\n\t " | " \t\r\n\t " |
"" |
sekvenciu
– sekvencia znakov, ktorá má byť orezanáznakmi
– sekvencia znakov obsahujúca znaky, ktoré majú byť
orezanépublic static CharSequence orez(CharSequence sekvenciu, CharSequence znakmi)
Alias pre orež
.
public static String orež(String reťazec, String znakmi)
Oreže reťazec prvého parametra o znaky zadané do reťazca druhého parametra. Orezanie v tomto kontexte znamená odstránenie určitých znakov zo začiatku a konca reťazca. Zoznam znakov, ktoré majú byť vynechané obsahuje druhý parameter.
Príklady orezávania usporiadané v tabuľkách sú v opise metódy
orež
(sekvenciu,
znakmi)
.
reťazec
– reťazec, ktorý má byť orezanýznakmi
– reťazec obsahujúci znaky, ktoré majú byť orezanépublic static String oddeľovačPrvkovPoľa()
Zistí, aký oddeľovač prvkov je aktuálne používaný pri výpisoch polí
príkazmi vypíš
,
vypíšRiadok
.
formát
,
oddeľovačPrvkovPoľa(String)
,
oddeľovačDesatinnejČasti(char)
,
oddeľovačTisícov(Character)
,
vypíš(Object[])
,
F(double, int)
,
F(double, int, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static String oddelovacPrvkovPola()
Alias pre oddeľovačPrvkovPoľa
.
public static void oddeľovačPrvkovPoľa(String oddeľovač)
Nastaví hodnotu oddeľovača prvkov poľa, ktorý bude používaný pri
výpisoch polí príkazmi vypíš
,
vypíšRiadok
.
oddeľovač
– nový oddeľovač prvkov poľaformát
,
oddeľovačPrvkovPoľa()
,
oddeľovačDesatinnejČasti(char)
,
oddeľovačTisícov(Character)
,
vypíš(Object[])
,
F(double, int)
,
F(double, int, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static void oddelovacPrvkovPola(String oddeľovač)
Alias pre oddeľovačPrvkovPoľa
.
public static char oddeľovačDesatinnejČasti()
Zistí, aký oddeľovač desatinnej časti je aktuálne používaný pri
výpisoch čísiel príkazmi vypíš
,
vypíšRiadok
. Tento oddeľovač je
braný do úvahy aj pri rozpoznávaní číselných hodnôt rôznymi
metódami vstupu.
formát
,
oddeľovačPrvkovPoľa(String)
,
oddeľovačDesatinnejČasti(char)
,
oddeľovačTisícov(Character)
,
vypíš(Object[])
,
F(double, int)
,
F(double, int, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static char oddelovacDesatinnejCasti()
Alias pre oddeľovačDesatinnejČasti
.
public static void oddeľovačDesatinnejČasti(char oddeľovač)
Nastaví hodnotu oddeľovača desatinnej časti, ktorý bude používaný
pri výpisoch príkazmi vypíš
,
vypíšRiadok
. Zadaný oddeľovač bude
vzatý do úvahy aj pri rozpoznávaní číselných hodnôt rôznymi
metódami vstupu.
oddeľovač
– nový oddeľovač desatinnej častiformát
,
oddeľovačPrvkovPoľa(String)
,
oddeľovačDesatinnejČasti()
,
oddeľovačTisícov(Character)
,
vypíš(Object[])
,
F(double, int)
,
F(double, int, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static void oddelovacDesatinnejCasti(char oddeľovač)
Alias pre oddeľovačDesatinnejČasti
.
public static Character oddeľovačTisícov()
Zistí, aký oddeľovač tisícov je aktuálne používaný pri výpisoch
čísiel príkazmi vypíš
,
vypíšRiadok
. Tento oddeľovač je
braný do úvahy aj pri rozpoznávaní číselných hodnôt rôznymi
metódami vstupu. Ak oddeľovač tisícov nie je použitý (to znamená,
že celá časť čísla je vždy vypísaná spolu a tisíce nie sú
oddeľované), tak je výsledkom tejto metódy hodnota null
.
null
formát
,
oddeľovačPrvkovPoľa(String)
,
oddeľovačDesatinnejČasti(char)
,
oddeľovačTisícov(Character)
,
vypíš(Object[])
,
F(double, int)
,
F(double, int, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static Character oddelovacTisicov()
Alias pre oddeľovačTisícov
.
public static void oddeľovačTisícov(Character oddeľovač)
Nastaví hodnotu oddeľovača tisícov, ktorý bude používaný pri
výpisoch príkazmi vypíš
,
vypíšRiadok
. Zadaný oddeľovač bude
vzatý do úvahy aj pri rozpoznávaní číselných hodnôt rôznymi
metódami vstupu. Ak je požadované, aby vo výpisoch tisíce neboli
oddeľované, tak je potrebné vložiť hodnotu null
.
oddeľovač
– nový oddeľovač tisícov alebo null
formát
,
oddeľovačPrvkovPoľa(String)
,
oddeľovačDesatinnejČasti(char)
,
oddeľovačTisícov()
,
vypíš(Object[])
,
F(double, int)
,
F(double, int, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static void oddelovacTisicov(Character oddeľovač)
Alias pre oddeľovačTisícov
.
public static String F(double číslo, int desatinné)
Táto metóda slúži na jednoduché formátovanie reálnych čísiel.
Prijíma reálne číslo a hodnotu počtu desatinných miest, ktoré majú
byť zobrazené.
Na jednoduchšie používanie je rovnaká metóda definovaná aj v triede
GRobot
: F(číslo,
desatinné)
.
(V jej opise je uvedený aj príklad použitia a ďalšie fakty.)
Metóda má ešte jednu verziu: Svet.F(číslo, šírka, desatinné)
.
číslo
– hodnota, ktorá má byť naformátovanádesatinné
– počet desatinných miest, ktoré majú byť uvedené
vo výslednom (naformátovanom) tvareformát
,
oddeľovačPrvkovPoľa(String)
,
oddeľovačDesatinnejČasti(char)
,
oddeľovačTisícov(Character)
,
vypíš(Object[])
,
F(double, int, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static String F(double číslo, int šírka, int desatinné)
Táto metóda slúži na jednoduché formátovanie reálnych čísiel.
Prijíma reálne číslo, potom hodnotu určujúcu šírku výsledného
reťazca (počet znakov), na ktorú má byť zarovnaný zľava a nakoniec
počet desatinných miest, ktoré majú byť zobrazené.
Na jednoduchšie používanie je rovnaká metóda definovaná aj v triede
GRobot
: F(číslo, šírka, desatinné)
.
(V jej opise je uvedený aj príklad použitia a ďalšie fakty.)
Metóda má ešte jednu verziu: Svet.F(číslo, desatinné)
.
číslo
– hodnota, ktorá má byť naformátovanášírka
– najmenší počet znakov výsledného naformátovaného
reťazca (pri krátkych číslach budú chýbajúce znaky doplnené
medzerami)desatinné
– počet desatinných miest, ktoré majú byť uvedené
vo výslednom (naformátovanom) tvareformát
,
oddeľovačPrvkovPoľa(String)
,
oddeľovačDesatinnejČasti(char)
,
oddeľovačTisícov(Character)
,
vypíš(Object[])
,
F(double, int)
,
GRobot.F(double, int)
,
GRobot.F(double, int, int)
public static String S(Object... argumenty)
Táto metóda slúži na rýchly prevod rôznych objektov do
textovej podoby a ich zlúčenie do jedného reťazca. Pri
zlučovaní používa rovnaké pravidlá, aké sú opísané v opise
metódy Plátno
.
vypíš
(argumenty)
. Súvisí
to napríklad so spôsobom pridávania medzier medzi reťazce
zlučovaných argumentov, automatickým formátovaním čísiel
a podobne.
Na jednoduchšie používanie je rovnaká metóda definovaná aj
v triede GRobot
: S(argumenty)
.
(V jej opise je uvedená aj ukážka použitia a ďalšie fakty.)
argumenty
– zoznam argumentov rôzneho údajového typu
oddelený čiarkamivypíš(Object[])
,
GRobot.S(Object[])
public static double zaokrúhli(double hodnota, int miest)
Zaokrúhli zadané číslo na zadaný počet (desatinných) miest.
Počet miest rovný nule znamená zaokrúhlenie na celé číslo (myslené
iba terminologicky, pretože vrátená hodnota je vždy údajového typu
double
).
Ak je zadaný záporný počet miest na zaokrúhlenie, tak bude výsledné
číslo zaokrúhlené na počet miest pred desatinnou čiarkou (desiatky,
stovky…).
Pri zaokrúhľovaní je uplatnené pravidlo „half up“ (od polovice
nahor), to znamená, že hodnoty 0 – 4 na pozícii zaokrúhlenia
zaokrúhľujú výsledok smerom nadol a 5 – 9 nahor.
hodnota
– hodnota, ktorá má byť zaokrúhlenámiest
– počet (desatinných) miest, ktoré majú byť zachovanépublic static double zaokruhli(double hodnota, int miest)
Alias pre zaokrúhli
.
public static void ikona(String súbor)
Nastaví oknu aplikácie novú ikonu.
Ikona prečítaná zo súboru je prevedená z obrázka, ktorý je
chápaný ako zdroj a ktorý po prečítaní zostane uložený vo
vnútornej pamäti sveta rovnako ako prevedená verzia ikony.
Obidva objekty môžu byť v prípade potreby (napríklad ak sa obsah
súboru na disku zmenil) z vnútornej pamäte odstránené metódou
Svet.uvoľni(názovZdroja)
.
(Táto informácia je platná pre všetky metódy pracujúce s obrázkami
(resp. ikonami) alebo zvukmi, ktoré prijímajú názov súboru ako
parameter.)
Poznámka: Z dôvodu konzistencie by
k tejto metóde mal byť definovaný alias obrazok(súbor)
(bez diakritiky), ktorý by korešpondoval s rovnakým aliasom metódy
ikona()
, podobne ako je to v triedach kontextových a klasických položiek ponuky. V tejto
triede to však nie je možné, pretože už obsahuje definíciu
metódy obrazok(súbor)
(ktorá je aliasom
metódy obrázok(súbor)
– s diakritikou).
Nie je to závažný technický problém, pretože metódy sú navrhnuté
tak, aby boli univerzálne. Je to iba „kozmetický“ problém.
súbor
– názov súboru s obrázkomGRobotException
– ak súbor s obrázkom nebol nájdenýpriečinokObrázkov(String)
public static void ikona(Image obrázok)
Nastaví oknu aplikácie ikonu podľa zadaného obrázka.
obrázok
– obrázok slúžiaci ako predloha pre ikonupublic static Obrazok ikona()
Prečíta ikonu okna aplikácie a prevedie ju na obrázok.
Poznámka: Táto metóda vracia objekt typu
Obrazok
(t. j. triedy, ktorá je aliasom triedy
Obrázok
). Dôvod je uvedený v poznámke v opise metódy
ikona(súbor)
.
public static void novýKurzorMyši(Image predloha, int x, int y, String meno)
Definuje nový kurzor myši použiteľný v hlavnom okne aplikácie.
Tvar kurzora určí aktuálna grafika zadaného obrázka (neskoršie
zmeny grafiky obrázka sa v kurzore neprejavia; môže byť použitý aj
objekt typu Obrázok
). Súradnice x
a y
určujú aktívny bod kurzora (hot spot), t. j.
bod, ktorý bude považovaný za „špičku,“ či „stred“ nového kurzora
(terminológia záleží na tvare kurzora – pri niečom ako šípka by sme
to skôr pomenovali špičkou a pri niečom ako terčík stredom) v rámci
súradnicového priestoru obrázka, pričom súradnice [0, 0] určujú
počiatok súradnicovej sústavy umiestnený v strede obrázka
(rovnako ako všade v tomto programovacom rámci; tiež y-ová
súradnica stúpa smerom nahor – v súlade s princípmi tohto
programovacieho rámca). 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 mohol
vzniknúť neželaný posun aktívneho bodu kurzora (spôsobený
mechanizmami individuálneho operačného systému, ktoré nie sú v moci
tohto rámca). Názov kurzora musí byť jedinečný v rámci pomenovaní
vlastných kurzorov. (Môže byť rovnaký ako názov systémového
kurzora – pozri zmeňKurzorMyši
–
čím sa systémový kurzor prekryje, ale nesmie byť rovnaký ako názov
jestvujúceho vlastného kurzora – vytvoreného touto alebo príbuznou
metódou rámca.) Tento názov treba použiť pri volaní metódy
zmeňKurzorMyši
.
Príklad:
| Maličký výrez plátna so zobrazeným novým kurzorom nad ním. |
predloha
– 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
GRobotException
– ak kurzor so zadaným menom už jestvujezmeňKurzorMyši(String)
,
zmeňNovýKurzorMyši(Image, int, int, String)
public static void novyKurzorMysi(Image predloha, int x, int y, String meno)
Alias pre novýKurzorMyši
.
public static void novýKurzorMyši(Image predloha, double x, double y, String meno)
Alias pre novýKurzorMyši
.
public static void novyKurzorMysi(Image predloha, double x, double y, String meno)
Alias pre novýKurzorMyši
.
public 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. Systémové kurzory majú nasledujúce
preddefinované názvy: "predvolený"
,
"mieridlo"
, "text"
, "čakaj"
,
"jzZmeniťVeľkosť"
, "jvZmeniťVeľkosť"
,
"szZmeniťVeľkosť"
, "svZmeniťVeľkosť"
,
"sZmeniťVeľkosť"
, "jZmeniťVeľkosť"
,
"zZmeniťVeľkosť"
, "vZmeniťVeľkosť"
,
"ruka"
, "presunúť"
. Ak namiesto názvu
kurzora zadáte null
, bude použitý prázdny (neviditeľný)
kurzor.
Poznámka: Testy ukázali, že táto metóda nemá vplyv na tvar kurzora v režime celej obrazovky v operačnom systéme Windows s viacerými zobrazovacími zariadeniami. Je možné, že nastavenie tvaru kurzora nebude fungovať aj v iných situáciách súvisiacich s režimom celej obrazovky.
meno
– názov vlastného kurzora, systémového kurzora alebo
null
GRobotException
– ak kurzor so zadaným menom nejestvujenovýKurzorMyši(Image, int, int, String)
,
zmeňNovýKurzorMyši(Image, int, int, String)
public static void zmenKurzorMysi(String meno)
Alias pre zmeňKurzorMyši
.
public static void zmeňNovýKurzorMyši(Image predloha, int x, int y, String meno)
Táto metóda je kombináciou volania metód novýKurzorMyši
a zmeňKurzorMyši
. Platia pre ňu
rovnaké pravidlá ako pre uvedené dve metódy…
public static void zmenNovyKurzorMysi(Image predloha, int x, int y, String meno)
Alias pre zmeňNovýKurzorMyši
.
public static void zmeňNovýKurzorMyši(Image predloha, double x, double y, String meno)
Alias pre zmeňNovýKurzorMyši
.
public static void zmenNovyKurzorMysi(Image predloha, double x, double y, String meno)
Alias pre zmeňNovýKurzorMyši
.
public static TrayIcon systémováIkona()
Vráti objekt systémovej ikony sveta, ak je definovaná.
TrayIcon
, alebo
null
public static TrayIcon systemovaIkona()
Alias pre systémováIkona
.
public static boolean systémováIkona(String popis, Image ikona, String... položkyPonuky)
Definuje alebo aktualizuje systémovú ikonu nazývanú aj ikonou
v systémovej oblasti alebo v oblasti oznámení (angl. system
tray). Pri prvom volaní metódy ide o vytvorenie ikony. Vtedy
nesmie byť ikona prázdna (null
). Položky kontextovej
ponuky sú určené voliteľným zoznamom reťazcov, v ktorom hodnota
null
znamená oddeľovač. Ak vytvorenie alebo
aktualizácia zlyhá, tak metóda vráti hodnotu false
.
Príklad:
Tento príklad ukazuje vytvorenie primitívnej aplikácie, ktorá sa po zatvorení hlavého okna aplikácie skryje/presunie do ikony v systémovej oblasti.
import
knižnica.*;public
class
AplikáciaVSystémovejOblastiextends
GRobot
{// Tento atribút bude riadiť to, či pri pokuse o zavretie okna okno iba
// skryjeme alebo vykonáme predvolenú akciu (zavrieme aplikáciu):
private
boolean
skry =false
;private
AplikáciaVSystémovejOblasti() {// Nastavenie titulku okna.
super
("Aplikácia v systémovej oblasti…"
);// Vyrobenie grafiky ikony a jej použitie ako ikony aplikácie.
Obrázok
ikona =new
Obrázok
(32
,32
); ikona.vyplň
(žltá
);kresliDoObrázka
(ikona);kruh
(12
);kresliNaPodlahu
();Svet
.ikona
(ikona);// Pokúsime sa vytvoriť systémovú ikonu s práve vytvorenou grafikou
// a dvomi položkami kontextovej ponuky:
if
(Svet
.systémováIkona
(ikona,"Obnoviť"
,null
,"Ukončiť"
)) {// Ak je systémová ikona podporovaná, tak povolíme skrývanie
// namiesto zatvárania:
skry =true
;// Poznámka: Keby sme zmenili akciu zatvorenia okna z predvoleného
// zavretia aplikácie na jej skrytie (riadky s naznačeným
// komentárom nižšie, dosiahli by sme nekonistentné správanie
// systémových ovládacích prvkov a položky ponuky Koniec.
// Systémové prvky (ako je systémová ikona zavretia okna a položka
// systémovej ponuky Zavrieť) by okno skrývali a položka ponuky
// Koniec by iba posielala správu o zavretí okna. (Keby sme túto
// správu iba zamietli reakciou zavretie a nevykonali nič iné, tak
// položka by v podstate prestala fungovať.)
//
svet
.setDefaultCloseOperation
(//
javax.swing
.JFrame
.HIDE_ON_CLOSE
);// (poznámka: teraz má používateľ len dve možnosti zavretia
// tejto aplikácie s použitím jej grafického používateľského
// rozhrania – predvolenou položkou „Koniec“ v hlavnej ponuke
// alebo zvolením kontextovej položky „Ukončiť“ v kontextovej
// ponuke systémovej ikony)
// …a vypíšeme o tom do okna informáciu:
skoč
(15
);text
("Tlačidlo „Zavrieť“ okna aplikácie teraz"
);odskoč
(30
);text
("slúži na jeho skrytie do systémovej oblasti."
);// Systémovú ikonu nateraz skryjeme.
Svet
.zobrazSystémovúIkonu
(false
); }else
{// V opačnom prípade vypíšeme informáciu o tom, že systém túto
// vlastnosť nepodporuje (alebo jej použitiu bránia iné okolnosti).
farba
(červená
);text
("Systémová ikona nie je podporovaná."
); }// Skryjeme robot a vystredíme okno aplikácie.
skry
();Svet
.vystreď
(); }@
Overridepublic
void
voľbaSystémovejIkony
() {// Predvolenou akciou dvojitého kliknutia na ikonu v systémovej oblasti
// bude skrytie systémovej ikony a zobrazenie okna aplikácie (ak je
// skryté).
Svet
.zobrazSystémovúIkonu
(false
);if
(!Svet
.viditeľný
())Svet
.zobraz
(); }@
Overridepublic
void
voľbaSystémovejPoložky
() {switch
(ÚdajeUdalostí
.položkaSystémovejPonuky
()) {case
0
:// Prvá položka kontextovej ponuky bude vykonávať rovnakú akciu
// ako dvojklik na systémovú ikonu.
voľbaSystémovejIkony();break
;// Poznámka: Index 1 má oddeľovač.
case
2
:// Druhá položka (technicky tretia) kontextovej ponuky aplikáciu
// ukončí.
Svet
.koniec
();break
; } }@
Overridepublic
boolean
zavretie
() {if
(skry) {// Touto vetvou vypneme klasickú akciu zavretia okna.
Svet
.skry
();return
false
; }return
true
; }@
Overridepublic
void
skrytieOkna
() {// Pri skrytí okna aplikácie bude zobrazená systémová ikona.
Svet
.zobrazSystémovúIkonu
(true
); }public
static
void
main(String
... args) {Svet
.skry
();new
AplikáciaVSystémovejOblasti();Svet
.zobraz
(); } }
Výsledok:
|
Okno aplikácie po spustení
v stave, keď je |
Ikona aplikácie na paneli úloh. |
Ikona aplikácie (s ponukou) v systémovej oblasti. |
popis
– popis zobrazovaný pri ukázaní na ikonu
v systémovej oblastiikona
– obrázok určujúci vzhľad ikony v systémovej oblastipoložkyPonuky
– voliteľný zoznam reťazcov, z ktorých bude
vytvorená kontextová ponuka ikonytrue
pri úspechu; false
v opačnom prípadepublic static boolean systemovaIkona(String popis, Image ikona, String... položkyPonuky)
Alias pre systémováIkona
.
public static boolean systémováIkona(String popis, String... položkyPonuky)
Aktualizuje jestvujúcu ikonu v systémovej oblasti. Ďalšie
podrobnosti čítajte v opise metódy systémováIkona
(popis, ikona,
položkyPonuky)
.
popis
– popis zobrazovaný pri ukázaní na ikonu
v systémovej oblastipoložkyPonuky
– voliteľný zoznam reťazcov, z ktorých bude
vytvorená kontextová ponuka ikonytrue
pri úspechu; false
v opačnom prípadepublic static boolean systemovaIkona(String popis, String... položkyPonuky)
Alias pre systémováIkona
.
public static boolean systémováIkona(Image ikona, String... položkyPonuky)
Definuje alebo aktualizuje ikonu v systémovej oblasti. Pri
prvom volaní metódy ide o vytvorenie ikony, vtedy nesmie byť
ikona prázdna (null
). Ďalšie podrobnosti čítajte
v opise metódy systémováIkona
(popis, ikona, položkyPonuky)
.
ikona
– obrázok určujúci vzhľad ikony v systémovej oblastipoložkyPonuky
– voliteľný zoznam reťazcov, z ktorých bude
vytvorená kontextová ponuka ikonytrue
pri úspechu; false
v opačnom prípadepublic static boolean systemovaIkona(Image ikona, String... položkyPonuky)
Alias pre systémováIkona
.
public static boolean systémováIkonaZobrazená()
Zistí, či je jestvujúca ikona v systémovej oblasti zobrazená.
public static boolean systemovaIkonaZobrazena()
Alias pre systémováIkonaZobrazená
.
public static boolean zobrazSystémovúIkonu(boolean zobraz)
Zobrazí alebo skryje jestvujúcu ikonu v systémovej oblasti.
zobraz
– booleovská hodnota určuje, či má byť ikona
zobrazená alebo skrytátrue
pri úspechu; false
v opačnom prípadepublic static boolean zobrazSystemovuIkonu(boolean zobraz)
Alias pre zobrazSystémovúIkonu
.
public static boolean správaSystémovejIkony(String správa, String titulok)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadanú správu s titulkom.
správa
– text správytitulok
– text titulkutrue
pri úspechu; false
v opačnom prípadepublic static boolean správaSystémovejIkony(String správa)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadanú správu.
správa
– text správytrue
pri úspechu; false
v opačnom prípadepublic static boolean spravaSystemovejIkony(String správa, String titulok)
Alias pre správaSystémovejIkony
.
public static boolean spravaSystemovejIkony(String správa)
Alias pre správaSystémovejIkony
.
public static boolean informáciaSystémovejIkony(String informácia, String titulok)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané informačné oznámenie s titulkom.
informácia
– text informácietitulok
– text titulkutrue
pri úspechu; false
v opačnom prípadepublic static boolean informáciaSystémovejIkony(String informácia)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané informačné oznámenie.
informácia
– text informácietrue
pri úspechu; false
v opačnom prípadepublic static boolean informaciaSystemovejIkony(String informácia, String titulok)
Alias pre informáciaSystémovejIkony
.
public static boolean informaciaSystemovejIkony(String informácia)
Alias pre informáciaSystémovejIkony
.
public static boolean varovanieSystémovejIkony(String varovanie, String titulok)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané varovné oznámenie s titulkom.
varovanie
– text varovaniatitulok
– text titulkutrue
pri úspechu; false
v opačnom prípadepublic static boolean varovanieSystémovejIkony(String varovanie)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané varovné oznámenie.
varovanie
– text varovaniatrue
pri úspechu; false
v opačnom prípadepublic static boolean varovanieSystemovejIkony(String varovanie, String titulok)
Alias pre varovanieSystémovejIkony
.
public static boolean varovanieSystemovejIkony(String varovanie)
Alias pre varovanieSystémovejIkony
.
public static boolean chybaSystémovejIkony(String chyba, String titulok)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané chybové oznámenie s titulkom.
chyba
– text chybytitulok
– text titulkutrue
pri úspechu; false
v opačnom prípadepublic static boolean chybaSystémovejIkony(String chyba)
Ak je definovaná systémová ikona, tak v jej kontexte zobrazí zadané chybové oznámenie.
chyba
– text chybytrue
pri úspechu; false
v opačnom prípadepublic static boolean chybaSystemovejIkony(String chyba, String titulok)
Alias pre chybaSystémovejIkony
.
public static boolean chybaSystemovejIkony(String chyba)
Alias pre chybaSystémovejIkony
.
public static void koniec()
Skončí aplikáciu bez opýtania. Pozri aj koniec
(kód)
.
zavrieť()
public static void koniec(int kód)
Skončí aplikáciu s návratovým kódom pre opreračný systém.
Ukončenie je okamžité, na rozdiel od metódy zavrieť
, ktorá generuje udalosť zavretia okna (ktorá môže
byť odmietnutá).
kód
– celočíselný návratový kód, ktorý je schopný prijať
operačný systémzavrieť()
public static BufferedImage obrázok()
Vráti objekt typu BufferedImage
obsahujúci
aktuálnu obrazovú informáciu sveta. Vrátený objekt obsahuje
zobrazenie spájajúce dohromady grafiky plátien,
robotov, spojníc, konzolových textov
a tak podobne. Tento objekt je pravidelne aktualizovaný, takže
akékoľvek zmeny v ňom budú mať krátke trvanie. Vrátený objekt je
skôr vhodný na získanie aktuálnej verzie grafickej informácie
sveta.
Vrátený objekt (typu BufferedImage
) nemá
prispôsobený súradnicový priestor potrebám programovacieho rámca
GRobot – pracuje v rovnakom súradnicovom systéme ako všetky
grafické objekty Javy – začiatok súradnicovej sústavy je umiestnený
v ľavom hornom rohu obrázka a y-ové súradnice sú v porovnaní
s klasickým kartéziánskym súradnicovým systémom zrkadlovo
prevrátené, to znamená, že y-ová súradnica stúpa smerom nadol.
(O súradnicových priestoroch sa podrobnejšie píše napríklad
v opisoch metód GRobot.cesta()
, SVGpodpora.zapíš(…)
,
SVGpodpora.čítaj(meno)
a priebežne
v celej dokumentácii.)
BufferedImage
obsahujúci aktuálnu obrazovú informáciu svetagrafika()
public static BufferedImage obrazok()
Alias pre obrázok
.
public static Graphics2D grafika()
Vráti grafický objekt sveta na kreslenie v reakcii 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ť.
(Objekty generované robotmi sú vygenerované tak, aby boli
použiteľné v súradnicovom priestore Javy, teda aj tohto objektu.
O súradnicových priestoroch sa podrobnejšie píše napríklad
v opisoch metód GRobot.cesta()
,
SVGpodpora.zapíš(…)
, SVGpodpora.čítaj(meno)
a priebežne v celej dokumentácii.)
obrázok()
public static long údržba()
Po pamäťovo náročných operáciách môže byť vhodné uvoľniť systémové prostriedky. Metóda sa pokúsi uvoľniť čo najviac nepoužívaných prostriedkov. Vráti informáciu o objeme uvoľnenej pamäte.
public static long udrzba()
Alias pre údržba
.
public 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. Prijíma jeden
argument typu GRobot
(to znamená, že môže ísť aj
o hocijakú inštanciu odvodené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ť (resp.
bude, aj keď možno nie hneď) uvoľnený z pamäte počítača zberačom
odpadkov Javy. Uvoľnený robot 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 programovacom rámci GRobot deväť 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
)
,
Svet
.
uvoľni
(
Plazma
)
Svet
.
uvoľni
(
Obrázok
)
a Svet
.
uvoľni
(
String
)
–
slúžia na uvoľňovanie nepotrebných inštancií robotov,
vytvorených alebo prečítaných obrázkov a prečítaných zvukov
z vnútorných zoznamov zdrojov (robotov, obrázkov, zvukov), čo
je jednak nevyhnutnou podmienkou ich úspešného vymazania
z pamäte zberačom odpadkov Javy a jednak to môže byť niekedy
potrebné (napríklad ak sa obsah súboru so zdrojom uloženým na
disku zmenil).
ktorý
– objekt, ktorý má byť odstránenýuvoľni(java.lang.Class)
public static void uvoľni(Class typ)
Metóda slúži na hromadné vymazanie robotov určitého typu
z vnútorného zoznamu robotov. Očakáva určenie údajového typu
prostredníctvom inštancie typu 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 programovacom rámci GRobot deväť 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
)
,
Svet
.
uvoľni
(
Plazma
)
Svet
.
uvoľni
(
Obrázok
)
a Svet
.
uvoľni
(
String
)
–
slúžia na uvoľňovanie nepotrebných inštancií robotov,
vytvorených alebo prečítaných obrázkov a prečítaných zvukov
z vnútorných zoznamov zdrojov (robotov, obrázkov, zvukov), čo
je jednak nevyhnutnou podmienkou ich úspešného vymazania
z pamäte zberačom odpadkov Javy a jednak to môže byť niekedy
potrebné (napríklad ak sa obsah súboru so zdrojom uloženým na
disku zmenil).
typ
– objekt typu Class
uvoľni(GRobot)
public static void uvoľni(Plazma ktorá)
Táto metóda slúži na odstránenie konkrétnej inštancie
pixelového generátora plazmy z vnútorného zoznamu týchto
generátorov. Prijíma jeden argument typu Plazma
, ktorý určuje objekt určený na vymazanie z vnútorného
zoznamu generátorov. Aplikácia musí zabezpečiť vynulovanie všetkých
premenných, v ktorých je inštancia tohto generátora uložená, pretože
po vymazaní generátora z vnútorného zoznamu prestane byť objekt
synchronizovaný so zvyškom programovacieho rámca a mohol by sa
správať inak než by sa od neho očakávalo. Uvoľnený pixelový
generátor plazmy už nie je možné do sveta vrátiť!
Poznámka: Názov uvoľni
má
v programovacom rámci GRobot deväť 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
)
,
Svet
.
uvoľni
(
Plazma
)
Svet
.
uvoľni
(
Obrázok
)
a Svet
.
uvoľni
(
String
)
–
slúžia na uvoľňovanie nepotrebných inštancií robotov,
vytvorených alebo prečítaných obrázkov a prečítaných zvukov
z vnútorných zoznamov zdrojov (robotov, obrázkov, zvukov), čo
je jednak nevyhnutnou podmienkou ich úspešného vymazania
z pamäte zberačom odpadkov Javy a jednak to môže byť niekedy
potrebné (napríklad ak sa obsah súboru so zdrojom uloženým na
disku zmenil).
ktorá
– inštancia plazmy, ktorá má byť odstránená
z vnútorného zoznamupublic static void uvoľni(Obrázok ktorý)
Táto metóda slúži na odstránenie konkrétneho obrázka
z vnútorného zoznamu obrázkov. Prijíma jeden argument typu
Obrázok
, ktorý určuje objekt určený na vymazanie
z vnútorného zoznamu obrázkov. Aplikácia musí zabezpečiť
vynulovanie všetkých premenných, v ktorých je inštancia tohto
obrázka uložená, pretože po vymazaní obrázka z vnútorného zoznamu
prestane byť objekt synchronizovaný so zvyškom programovacieho
rámca a mohol by sa správať inak než by sa od neho očakávalo.
Uvoľnený obrázok už nie je možné do sveta vrátiť!
Táto metóda (rovnako ako všetky jej klony) je nevyhnutná pri
implementácii správy vnútornej pamäte programovacieho rámca. Ak
aplikácia pracuje s veľkým množstvom grafických a/alebo zvukových
súborov, je dôležité priebežne pamäť uvoľňovať, inak bude
vyčerpaná a aplikácia sa zrúti. Základné použitie tejto metódy
je ukázané v opise metódy pustenieSúboru
.
Poznámka: Názov uvoľni
má
v programovacom rámci GRobot deväť 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
)
,
Svet
.
uvoľni
(
Plazma
)
Svet
.
uvoľni
(
Obrázok
)
a Svet
.
uvoľni
(
String
)
–
slúžia na uvoľňovanie nepotrebných inštancií robotov,
vytvorených alebo prečítaných obrázkov a prečítaných zvukov
z vnútorných zoznamov zdrojov (robotov, obrázkov, zvukov), čo
je jednak nevyhnutnou podmienkou ich úspešného vymazania
z pamäte zberačom odpadkov Javy a jednak to môže byť niekedy
potrebné (napríklad ak sa obsah súboru so zdrojom uloženým na
disku zmenil).
ktorý
– objekt, ktorý má byť odstránený z vnútorného zoznamupublic static void uvoľni(String názovZdroja)
Táto metóda slúži na odstránenie zdrojov (obrázkov a/alebo zvukov) z vnútorných zoznamov zdrojov sveta. Argument určuje názov súboru, z ktorého bol objekt zdroja prečítaný. Podľa neho sú vo vnútorných zoznamoch sveta (označovaných v tejto dokumentácii aj termínom „vnútorná pamäť sveta“) vyhľadané všetky korešpondujúce záznamy a sú z nich vymazané. Pri najbližšom čítaní tohto zdroja bude zdroj opätovne prečítaný z pevného disku (zdrojového súboru) a nová verzia bude opäť uložená do vnútorného zoznamu zdrojov sveta.
Táto metóda (rovnako ako všetky jej klony) je nevyhnutná pri
implementácii správy vnútornej pamäte programovacieho rámca. Ak
aplikácia pracuje s veľkým množstvom grafických a/alebo zvukových
súborov, je dôležité priebežne pamäť uvoľňovať, inak bude
vyčerpaná a aplikácia sa zrúti. Základné použitie tejto metódy
je ukázané v opise metódy pustenieSúboru
.
Poznámka: Názov uvoľni
má
v programovacom rámci GRobot deväť 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
)
,
Svet
.
uvoľni
(
Plazma
)
Svet
.
uvoľni
(
Obrázok
)
a Svet
.
uvoľni
(
String
)
–
slúžia na uvoľňovanie nepotrebných inštancií robotov,
vytvorených alebo prečítaných obrázkov a prečítaných zvukov
z vnútorných zoznamov zdrojov (robotov, obrázkov, zvukov), čo
je jednak nevyhnutnou podmienkou ich úspešného vymazania
z pamäte zberačom odpadkov Javy a jednak to môže byť niekedy
potrebné (napríklad ak sa obsah súboru so zdrojom uloženým na
disku zmenil).
názovZdroja
– názov súboru so zdrojom, ktorý má byť uvoľnený
z vnútornej pamäte svetapublic static Súbor konfiguračnýSúbor()
Vráti inštanciu konfiguračného súboru na účely úpravy jeho parametrov, napríklad na úpravu predvolenej sekcie automatickej konfigurácie. Neodporúčame túto inštanciu používať na vlastné účely! Tiež odporúčame vykonávať čo najmenej zásahov do jej vlastností…
public static Súbor konfiguracnySubor()
Alias pre konfiguračnýSúbor
.
public static String názovKonfiguračnéhoSúboru()
Vráti naposledy použitý názov konfiguračného súboru. Pozri aj
napríklad metódu konfiguračnýSúbor
alebo reakciu zapíšKonfiguráciu
.
public static String nazovKonfiguracnehoSuboru()
Alias pre názovKonfiguračnéhoSúboru
.
public static String predvolenáSekciaKonfigurácie()
Vráti názov predvolenej sekcie. (Pozri aj
predvolenáSekciaKonfigurácie
.)
Prázdny reťazec označuje prvú bezmennú konfiguračnú pasáž.
ObsluhaUdalostí.konfiguráciaZmenená()
,
predvolenáSekciaKonfigurácie(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
použiKonfiguráciu(String)
,
použiKonfiguráciu()
,
registrujRobot(GRobot, String)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static String predvolenaSekciaKonfiguracie()
Alias pre predvolenáSekciaKonfigurácie
.
public static void predvolenáSekciaKonfigurácie(String názov)
Zmení názov predvolenej sekcie, ktorú používajú metódy automatickej konfigurácie.
názov
– názov novej predvolenej sekcieObsluhaUdalostí.konfiguráciaZmenená()
,
predvolenáSekciaKonfigurácie()
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
použiKonfiguráciu(String)
,
použiKonfiguráciu()
,
registrujRobot(GRobot, String)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static void predvolenaSekciaKonfiguracie(String názov)
Alias pre predvolenáSekciaKonfigurácie
.
public 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. 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(názovSúboru)
.
názovSúboru
– názov konfiguračného súboru (.cfg
)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 oknaGRobotException
– ak svet už bol inicializovanýObsluhaUdalostí.konfiguráciaZmenená()
,
predvolenáSekciaKonfigurácie()
,
predvolenáSekciaKonfigurácie(String)
,
použiKonfiguráciu(int, int, int, int)
,
použiKonfiguráciu(String)
,
použiKonfiguráciu()
,
registrujRobot(GRobot, String)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static void pouziKonfiguraciu(String názovSúboru, int x, int y, int šírka, int výška)
Alias pre použiKonfiguráciu
.
public 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. Metóda použije predvolené meno konfiguračného súboru "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 oknaObsluhaUdalostí.konfiguráciaZmenená()
,
predvolenáSekciaKonfigurácie()
,
predvolenáSekciaKonfigurácie(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(String)
,
použiKonfiguráciu()
,
registrujRobot(GRobot, String)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static void pouziKonfiguraciu(int x, int y, int šírka, int výška)
Alias pre použiKonfiguráciu
.
public static void použiKonfiguráciu(String názovSúboru)
Zapne automatické spracovanie konfiguračného súboru sveta. Metóda
musí byť volaná pred vytvorením hlavného robota, čiže ešte pred začatím inicializácie sveta
(najlepšie v hlavnej metóde).
V súčasnosti konfigurácia sveta zahŕňa polohu a rozmery hlavného
okna (vrátane stavu minimalizovania/maximalizovania okna)
a ukladanie vlastností registrovaných robotov. Meno konfiguračného súboru
určuje parameter 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.)
Upozornenie: Upozorňujeme na to, že
nie je bezpečné používať súbor so zadaným názvom na iné účely.
Prosím, venujte pozornosť upozorneniu pri metóde zapíšVlastnosť
!
názovSúboru
– názov konfiguračného súboru (.cfg
)ObsluhaUdalostí.konfiguráciaZmenená()
,
predvolenáSekciaKonfigurácie()
,
predvolenáSekciaKonfigurácie(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
použiKonfiguráciu()
,
registrujRobot(GRobot, String)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static void pouziKonfiguraciu(String názovSúboru)
Alias pre použiKonfiguráciu
.
public static void použiKonfiguráciu()
Zapne automatické spracovanie konfiguračného súboru sveta. Metóda
musí byť volaná pred vytvorením hlavného robota, čiže ešte pred začatím inicializácie sveta
(najlepšie v hlavnej metóde).
V súčasnosti konfigurácia sveta zahŕňa polohu a rozmery hlavného
okna (vrátane stavu minimalizovania/maximalizovania okna)
a ukladanie vlastností registrovaných robotov. Metóda použije predvolené
meno konfiguračného súboru "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.)
Upozornenie: Upozorňujeme na to, že
nie je bezpečné používať súbor "grobot.cfg"
na iné
účely. Prosím, venujte pozornosť upozorneniu pri metóde zapíšVlastnosť
!
ObsluhaUdalostí.konfiguráciaZmenená()
,
predvolenáSekciaKonfigurácie()
,
predvolenáSekciaKonfigurácie(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
použiKonfiguráciu(String)
,
registrujRobot(GRobot, String)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static void pouziKonfiguraciu()
Alias pre použiKonfiguráciu
.
public static void použiInteraktívnyRežim(String... nastavenia)
Komplexný konfiguračný príkaz umožňujúci vykonanie mnohých nastavení sveta naraz.
Zoznam reťazcov nastavenia
môže obsahovať ľubovoľný počet
z nasledujúcich nastavení (predvolene sú všetky zapnuté):
"nerežimLadenia" | vypne | vykonanie príkazu
Svet . režimLadenia ( true , true )
po vyhodnotení všetkých konfiguračných direktív. |
"režimLadenia" | zapne | |
" «názov súboru».cfg" | zapne | vykonanie príkazu
Svet . použiKonfiguráciu (…)
po vyhodnotení všetkých konfiguračných direktív so zadaným názvom súboru. |
"x= «celé číslo»" | upraví | hodnotu x-ovej pozície okna pre príkaz
Svet . použiKonfiguráciu (…) ,
ktorý sa vykoná po vyhodnotení všetkých konfiguračných direktív, ak nebol zakázaný inou direktívou v zozname nastavení. |
"y= «celé číslo»" | upraví | hodnotu y-ovej pozície okna pre príkaz
Svet . použiKonfiguráciu (…) ,
ktorý sa vykoná po vyhodnotení všetkých konfiguračných direktív, ak nebol zakázaný inou direktívou v zozname nastavení. |
"šírka= «celé číslo»" | upraví | hodnotu šírky okna pre príkaz
Svet . použiKonfiguráciu (…) ,
ktorý sa vykoná po vyhodnotení všetkých konfiguračných direktív, ak nebol zakázaný inou direktívou v zozname nastavení. |
"výška= «celé číslo»" | upraví | hodnotu výšky okna pre príkaz
Svet . použiKonfiguráciu (…) ,
ktorý sa vykoná po vyhodnotení všetkých konfiguračných direktív, ak nebol zakázaný inou direktívou v zozname nastavení. |
"nepoužiKonfiguráciu" | vypne | vykonanie príkazu
Svet . použiKonfiguráciu (…)
po vyhodnotení všetkých konfiguračných direktív.
(Vypnutie vymaže prípadne skôr zadaný názov konfiguračného
súboru a opätovné zapnutie potom názov súboru zresetuje na
predvolený.) |
"použiKonfiguráciu" | zapne | |
"skryHlavnýRobot" | vypne | vykonanie príkazu
Svet . vypíš ( this )
počas inicializácie hlavného robota (príkaz vypína automatické
skrývanie hlavného robota po prvom výpise textu konzoly). |
"neskryHlavnýRobot" | zapne | |
"nezačniVstup" | vypne | vykonanie príkazu
Svet . začniVstup ()
počas inicializácie hlavného robota. |
"začniVstup" | zapne | |
"skrývajVstupnýRiadok" | vypne | vykonanie príkazu
Svet . neskrývajVstupnýRiadok ()
počas inicializácie hlavného robota. |
"neskrývajVstupnýRiadok" | zapne | |
"neinteraktívnyRežim" | vypne | vykonanie príkazov
Svet . interaktívnyRežim ( true )
a interaktívnyRežim ( true )
počas inicializácie hlavného robota. |
"interaktívnyRežim" | zapne | |
"neaktivujHistóriuVstupnéhoRiadka" | vypne | vykonanie príkazu
Svet . aktivujHistóriuVstupnéhoRiadka ()
počas inicializácie hlavného robota. |
"aktivujHistóriuVstupnéhoRiadka" | zapne | |
"neuchovajHistóriuVstupnéhoRiadka" | vypne | vykonanie príkazu
Svet . uchovajHistóriuVstupnéhoRiadka ()
počas inicializácie hlavného robota. |
"uchovajHistóriuVstupnéhoRiadka" | zapne | |
"neskratkyStropu" | vypne | vykonanie príkazu
Svet . skratkyStropu ( true )
počas inicializácie hlavného robota. |
"skratkyStropu" | zapne | |
"neautomatickéZobrazovanieLíšt" | vypne | vykonanie príkazu
strop . automatickéZobrazovanieLíšt ( true )
počas inicializácie hlavného robota. |
"automatickéZobrazovanieLíšt" | zapne | |
"nezmeňOdsadenieSprava" | vypne | vykonanie príkazu
strop . zmeňOdsadenieSprava ( 30 )
počas inicializácie hlavného robota. |
"zmeňOdsadenieSprava" | zapne | |
"vypisujFarby" | vypne | vykonanie príkazu
strop . nevypisujFarby ( true )
počas inicializácie hlavného robota. |
"nevypisujFarby" | zapne | |
"vypniVšetko" | vypne | všetky (vyššie vymenované) direktívy. (V kontexte ukladania konfigurácie vypnutie vymaže prípadne skôr zadaný názov konfiguračného súboru a opätovné zapnutie názov súboru zresetuje na predvolený.) |
"zapniVšetko" | zapne |
Nastavenia sú vyhodnocované sekvenčne. Neskoršie uvedené menia platnosť skôr uvedených. Všetky prepínače sú implementované ako booleovské hodnoty, okrem ukladania konfigurácie, ktorá je realizovaná nastavovaním alebo mazaním názvu konfiguračného súboru (bez ktorého by ukladanie konfigurácie ani nemalo zmysel).
nastavenia
– reťazcový zoznam konfiguračných direktívpublic static void pouziInteraktivnyRezim(String... nastavenia)
Alias pre použiInteraktívnyRežim
.
public static boolean overujPočiatočnúPolohuOkna()
Zistí aktuálny stav automatického overovania počiatočnej polohy
okna po jeho inicializácii. Viac podrobností nájdete v opise metódy
overujPočiatočnúPolohuOkna
(overuj)
.
true
/false
použiKonfiguráciu()
,
overujPočiatočnúPolohuOkna(boolean)
public static void overujPočiatočnúPolohuOkna(boolean overuj)
Zmení stav automatického overovania počiatočnej polohy okna po
jeho inicializácii. Ak je stav overovania nastavený na true
, tak sa počas inicializácie okna (sveta) overí, či je
umiestnené v rámci aktuálnych obrazoviek (zariadení) a ak nie, tak
bude automaticky presunuté na primárnu obrazovku (resp. predvolené
zobrazovacie zariadenie).
Z vyššie uvedených informácií vyplýva, že tento stav (príznak) má zmysel meniť len pred inicializáciou okna sveta. Najlepšie pred použitím konfigurácie. Po inicializácii okna sveta už nie je poloha okna overovaná automaticky, ale dá sa vykonať týmto (alebo podobným) kódom:
if
(Svet
.zistiZariadenieOkna
())Svet
.premiestniNaZariadenie
();
overuj
– nový stav overovania: true
/false
použiKonfiguráciu()
,
overujPočiatočnúPolohuOkna()
,
overujPočiatočnúPolohuOkna(boolean)
,
premiestniNaZariadenie()
public static boolean overujPociatocnuPolohuOkna()
Alias pre overujPočiatočnúPolohuOkna
.
public static void overujPociatocnuPolohuOkna(boolean overuj)
Alias pre overujPočiatočnúPolohuOkna
.
public static boolean prvéSpustenie()
Účelom tejto metódy je overiť, či pred spustením aplikácie
jestvoval konfiguračný súbor. Ak áno, nejde o prvé spustenie
a metóda vráti hodnotu false
. Ak nie, tak je toto
spustenie považované za prvé a aplikácia si v tejto situácii
môže nakonfigurovať niektoré vlastnosti alebo vykonať určité
aktivity (napríklad zbaliť okno) bez obáv,
že by táto činnosť zničila údaje prečítané z konfiguračného
súboru.
true
ak konfigurácia nejestvovala; false
v opačnom prípadepublic static boolean prveSpustenie()
Alias pre prvéSpustenie
.
public static void registrujRobot()
Registruje hlavný robot
v konfigurácii sveta.
Rezervované meno pre hlavný robot je robot
.
Pozri aj informácie pri metóde registrujRobot(robot)
.
meno
– meno robotaObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.čítajZoSúboru(Súbor)
,
Písmo.uložDoSúboru(Súbor)
,
Písmo.čítajZoSúboru(Súbor)
,
registrujRobot(String)
,
registrujRobot(GRobot)
,
registrujRobot(GRobot, String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static void registrujRobota()
Alias pre registrujRobot
.
public static void registrujRobot(String meno)
Registruje robot v konfigurácii podľa jeho (vopred priradeného)
mena.
Ak nejestvuje žiadny robot so zadaným menom, tak vznikne výnimka.
Pozri aj informácie pri metóde registrujRobot(robot)
.
meno
– meno robotaGRobotException
– ak robot so zadaným menom nejestvujeObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.čítajZoSúboru(Súbor)
,
Písmo.uložDoSúboru(Súbor)
,
Písmo.čítajZoSúboru(Súbor)
,
registrujRobot()
,
registrujRobot(GRobot)
,
registrujRobot(GRobot, String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static void registrujRobota(String meno)
Alias pre registrujRobot
.
public static void registrujRobot(GRobot robot)
Registruje robot v konfigurácii. Registrácia je vykonaná podľa jeho mena. To znamená, že údaje o robote (poloha, smer, veľkosť, farba pera a tak ďalej) budú automaticky ukladané do a čítané z konfiguračného súboru. Ak robot nie je pomenovaný a nejde o hlavný robot, tak vznikne výnimka.
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:
import
knižnica.*;public
class
UkážkaKonfigurácieextends
GRobot
{private
UkážkaKonfigurácie() {// Inicializácia
// ...
Svet
.registrujRobot
(this
);// Prípadne sa dá použiť aj verzia metódy
// bez argumentu: Svet.
}registrujRobot
();public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
();Svet
.nekresli
();new
UkážkaKonfigurácie();Svet
.kresli
(); } }
Poznámka: Čítanie údajov o robote je
vykonané pri spustení tohto príkazu a zápis je vykonaný automaticky
pri ukončení aplikácie. V prípade kombinácie registrácie robota
s vlastnou konfiguráciou (pozri príklad TestKonfigurácie
v triede ObsluhaUdalostí
) je vhodné tieto
fakty zvážiť.
robot
– robot, ktorý má byť zaregistrovanýGRobotException
– ak zadaný robot nemá definované menoObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.čítajZoSúboru(Súbor)
,
Písmo.uložDoSúboru(Súbor)
,
Písmo.čítajZoSúboru(Súbor)
,
GRobot.registrujVKonfigurácii()
,
GRobot.registrujVKonfigurácii(String)
,
GRobot.jeRegistrovaný()
,
registrujRobot()
,
registrujRobot(String)
,
registrujRobot(GRobot, String)
,
dajRobot(String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
čítajKonfiguráciuSveta()
,
overujPočiatočnúPolohuOkna()
public static void registrujRobota(GRobot robot)
Alias pre registrujRobot
.
public static void registrujRobot(GRobot robot, String meno)
Registruje robot v konfigurácii podľa zadaného mena.
Pozri aj informácie pri metóde registrujRobot(robot)
.
meno
– meno robotaObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.čítajZoSúboru(Súbor)
,
registrujRobot()
,
registrujRobot(String)
,
registrujRobot(GRobot)
,
dajRobot(String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
overujPočiatočnúPolohuOkna()
public static void registrujRobota(GRobot robot, String meno)
Alias pre registrujRobot
.
public static GRobot dajRobot(String menoRobota)
Vráti inštanciu robota podľa jeho mena. Pomenovanie robotov je nepovinné a dá sa vykonať rôznymi spôsobmi. Napríklad pri registrácii robota v konfigurácii sveta alebo priamo jeho pomenovaním.
Hodnota parametra null
vráti hlavný robot bez ohľadu na jeho aktuálne meno.
V prípade, že hlavný robot nemá priradené špeciálne meno, je
táto hodnota ekvivalentá hodnote "robot"
, ktorá vráti
hlavný robot len v prípade, že nemá špeciálne pomenovanie.
meno
– meno robota, ktorého inštanciu chceme vrátiť alebo
null
null
,
ak taký robot nejestvujeGRobot.meno(String)
,
registrujRobot(GRobot, String)
public static void čítajKonfiguráciuSveta()
Prečíta konfiguráciu sveta (a plátien). Konfigurácia sveta ukladá viaceré informácie, napríklad: farbu pozadia, písma podlahy a stropu, hodnotu časovača, aktiváciu interaktívneho režimu a podobne. Spustenie tejto metódy spôsobí automatické uloženie údajov o svete (a plátnach) do konfigurácie pri (korektnom) ukončení aplikácie.
Vhodné je použiť nasledujúcu schému:
import
knižnica.*;public
class
UkážkaKonfigurácieextends
GRobot
{private
UkážkaKonfigurácie() {// Inicializácia
// ...
Svet
.registrujRobot
(this
,"robot"
);Svet
.čítajKonfiguráciuSveta
(); }public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
();Svet
.nekresli
();new
UkážkaKonfigurácie();Svet
.kresli
(); } }
meno
– meno robotaObsluhaUdalostí.konfiguráciaZmenená()
,
GRobot.uložDoSúboru(Súbor)
,
GRobot.čítajZoSúboru(Súbor)
,
Písmo.uložDoSúboru(Súbor)
,
Písmo.čítajZoSúboru(Súbor)
,
registrujRobot()
,
registrujRobot(String)
,
registrujRobot(GRobot)
,
registrujRobot(GRobot, String)
,
dajRobot(String)
,
použiKonfiguráciu()
,
použiKonfiguráciu(String)
,
použiKonfiguráciu(String, int, int, int, int)
,
použiKonfiguráciu(int, int, int, int)
,
overujPočiatočnúPolohuOkna()
public static void citajKonfiguraciuSveta()
Alias pre čítajKonfiguráciuSveta
.
public static void prečítajKonfiguráciuSveta()
Alias pre čítajKonfiguráciuSveta
.
public static void precitajKonfiguraciuSveta()
Alias pre čítajKonfiguráciuSveta
.
public static void vykonaťNeskôr(Runnable vykonať)
Táto metóda slúži na zadanie príkazov Javy, ktoré majú byť vykonané „neskôr“ – asynchrónne vzhľadom na reťaz čakajúcich správ (udalostí) aktívneho vlákna. To znamená, že zadané príkazy budú vykonané v čase, kedy je zásobník správ (to jest udalostí) aktívneho vlákna prázdny.
Príklad:
// Výpis veľkého množstva textov – na niekoľko strán…
Svet
.čakaj
(0.05
);Svet
.vykonaťNeskôr
(() ->strop
.posunutieTextovY
(strop
.poslednáVýškaTextu
()));
Príkazy v príklade sú vykonané nielen s päťdesiatmilisekundovým
oneskorením (spôsobeným príkazom čakaj
), ale aj až po vykonaní spracovania všetkých čakajúcich
udalostí, čo by v tomto prípade mala byť prinajmenšom udalosť
prekreslenia sveta, ktorá vznikla ako dôsledok výpisu textov
(ktoré nie sú v tomto príklade uvedené).
vykonať
– inštancia Runnable
alebo
funkcionálny blok príkazov Javy na vykonaniepublic static void vykonatNeskor(Runnable vykonať)
Alias pre vykonaťNeskôr
.
public static void vykonaťNeskôr(Runnable vykonať, boolean samostatnéVlákno)
Táto metóda slúži na zadanie príkazov Javy, ktoré majú byť
vykonané „neskôr“ – pozri opis metódy vykonaťNeskôr(vykonať)
. Toto je verzia
metódy, ktorá umožňuje určiť, či má byť vytvorené samostatné
vlákno, ktoré bude vykonávať blok zadaných príkazov.
vykonať
– inštancia Runnable
alebo
funkcionálny blok príkazov Javy na vykonaniesamostatnéVlákno
– určuje, či má byť spustené samostatné
vlákno vykonávajúce zadané príkazypublic static void vykonatNeskor(Runnable vykonať, boolean samostatnéVlákno)
Alias pre vykonaťNeskôr
.
public static void nespi()
Spustí aktivitu pravidelného generovania udalostí pohybu
kurzorom myšky, aby sa zabránilo prechodu počítača do režimu
spánku. Táto verzia automaticky spustí časovač a zachová pôvodný
interval generovania udalostí (prípadne predvolený, ktorý má
hodnotu 1 000 tikov časovača). Viac podrobností nájdete v opise
nasledujúcej verzie metódy: nespi
(novýInterval, ajČasovač)
.
nespi(int)
,
nespi(int, boolean)
,
spi()
public static void nespi(int novýInterval)
Spustí aktivitu pravidelného generovania udalostí pohybu
kurzorom myšky, aby sa zabránilo prechodu počítača do režimu
spánku. Táto verzia automaticky spustí časovač. Viac podrobností
nájdete v opise nasledujúcej verzie metódy: nespi
(novýInterval, ajČasovač)
.
novýInterval
– celé číslo určujúce počet tikov časovača, po uplynutí ktorých
sa budú generovať nové udalosti pohybu kurzora myši; nulová
alebo záporná hodnota zastaví generovanienespi()
,
nespi(int, boolean)
,
spi()
public static void nespi(int novýInterval, boolean ajČasovač)
Spustí aktivitu pravidelného generovania udalostí pohybu kurzorom myšky, aby sa zabránilo prechodu počítača do režimu spánku.
Toto je dôležité najmä pri aplikáciách, ktoré niečo samostatne prezentujú. Bez tejto možnosti by po určitom čase počítač mohol „zaspať“ (a prezentovanie by stratilo efekt).
Udalosti, ktoré budú generované sú systémom považované za reálne udalosti, ktoré spôsobil používateľ. Keďže virtuálny stroj Javy nemá priamy prístup k nastaveniam súvisiacim so správou a šetrením energie, toto je jediná možnosť ako je možné túto záležitosť ovplyvniť.
Prvý parameter určuje interval generovania udalostí v jednotkách
počtu tikov (pozri aj napríklad: intervalČasovača
) a druhý parameter umožňuje potlačiť automatické
spustenie časovača – zadaním hodnoty false
.
novýInterval
– celé číslo určujúce počet tikov časovača, po uplynutí ktorých
sa budú generovať nové udalosti pohybu kurzora myši; nulová
alebo záporná hodnota zastaví generovanieajČasovač
– ak je true
, tak je automaticky
spustený časovač
(v prípade, že je nečinný); bez spusteného časovača nebude
táto aktivita fungovať – dôvodom na použitie hodnoty false
môže byť spustenie v prípravnej fáze aplikácie
s tým, že časovač bude spustený neskôr, keď bude aplikácie
korektne inicializovaná (pripravená na činnosť)nespi()
,
nespi(int)
,
spi()
public static void spi()
Zastaví aktivitu pravidelného generovania udalostí pohybu kurzorom myšky, ktorá slúžila na to, aby sa zabránilo prechodu počítača do režimu spánku.
nespi()
,
nespi(int)
,
nespi(int, boolean)
public static boolean otvorWebovýOdkaz(String uri)
Pokúsi sa použiť zadaný textový reťazec ako webovú adresu a otvoriť ju v predvolenom prehliadači operačného systému.
uri
– reťazec s webovou adresou, ktorá má byť otvorená
v predvolenom prehliadači OStrue
ak metóda uspela, false
v opačnom prípadepublic static boolean otvorWebovyOdkaz(String uri)
Alias pre otvorWebovýOdkaz
.
public static boolean pošliEmail(String... údajeSprávy)
Otvorí okno na napísanie novej správy elektronickej pošty predvoleného e-mailového klienta OS.
Voliteľné parametre údajeSprávy
môžu byť vynechané
alebo môže byť zadaný nepárny počet prvkov. V tom prípade je
prvý prvok adresa primárneho adresáta a zvyšné dvojice
parametrov určujú ďalšie údaje správy. Prvý z páru je názov
údaja a druhý jeho hodnota. Metóda podporuje tieto názvy:
"komu"
alebo "to"
– adresa ďalšieho
primárneho adresáta"kópia"
alebo "cc"
– adresa adresáta
v kópii"skrytá"
, "skrytá kópia"
alebo
"bcc"
– adresa adresáta v skrytej kópii"predmet"
alebo "subject"
– predmet
správy"telo"
, "telo správy"
alebo
"body"
– telo správyúdajeSprávy
– údaje súvisiace s novou správou (pozri vyššie)true
ak metóda uspela, false
v opačnom prípadeotvorWebovýOdkaz(String)
,
vytlač(String)
,
otvorVPredvolenejAplikácii(String)
,
otvorVPredvolenejAplikácii(String, boolean)
public static boolean posliEmail(String... údajeSprávy)
Alias pre pošliEmail
.
public static boolean vytlač(String súbor)
Ak je pre zadaný súbor asociovaný príkaz na tlač dokumentu, tak otvorí prislúchajúci tlačový dialóg operačného systému, pomocou ktorého bude možné súbor (dokument) vytlačiť.
súbor
– súbor (dokument), ktorý má byť vytlačený podľa
predvoleného nastavenia OStrue
ak metóda uspela, false
v opačnom prípadepublic static boolean otvor(String súbor)
Pokúsi sa otvoriť zadaný súbor v predvolenej aplikácii podľa nastavení operačného systému.
súbor
– súbor (dokument), ktorý má byť otvorený v predvolenej
aplikácie (podľa nastavení OS)true
ak metóda uspela, false
v opačnom prípadepublic static boolean otvorVPredvolenejAplikácii(String súbor)
Alias pre otvorVPredvolenejAplikácii
.
public static boolean otvorVPredvolenejAplikacii(String súbor)
Alias pre otvorVPredvolenejAplikácii
.
public static boolean otvor(String súbor, boolean naÚpravu)
Pokúsi sa otvoriť (spustiť) alebo otvoriť na úpravy zadaný
súbor v predvolenej aplikácii podľa nastavení operačného
systému. Spôsob otvorenia určuje druhý parameter:
naÚpravu
. Ak je false
, tak sa metóda správa
rovnako ako jej verzia bez tohto parametra (otvor
), čiže pokúsi sa súbor (dokument) otvoriť v zmysle jeho
spustenia (čo nadobúda lepší význam napríklad v prípade skriptov).
Ak sa hodnota parametra rovná true
, tak sa metóda
pokúsi zadaný súbor (dokument) otvoriť v predvolenom editore.
(Ak tento nie je definovaný, tak je pravdepodobné, že operačný
systém súbor otvorí/spustí rovnakým spôsobom ako v prvom
prípade.)
Príklad:
Porovnajte nasledujúce dva príkazy:
Svet
.otvor
("uprav.bat"
);Svet
.otvor
("uprav.bat"
,true
);
Obidva sa pokúšajú „otvoriť“ naledujúci skript (uložený v súbore
uprav.bat
s kódovaním UTF-8), ale každá iným spôsobom:
súbor
– súbor (dokument), ktorý má byť otvorený v predvolenej
aplikácie (podľa nastavení OS)naÚpravu
– ak je true
, tak sa metóda pokúsi
otvoriť zadaný súbor (dokument) v predvolenom editore (ak je
definovaný); ak je false
, tak sa metóda správa
rovnako ako jej verzia bez tohto parametra (otvor
)true
ak metóda uspela, false
v opačnom prípadeotvorWebovýOdkaz(String)
,
pošliEmail(String...)
,
vytlač(String)
,
otvor(String)
,
otvor(String, boolean)
public static boolean otvorVPredvolenejAplikácii(String súbor, boolean naÚpravu)
Alias pre otvorVPredvolenejAplikácii
.
public static boolean otvorVPredvolenejAplikacii(String súbor, boolean naÚpravu)
Alias pre otvorVPredvolenejAplikácii
.
public static void spracujPríkaz(String príkaz)
Spracuje jeden príkaz príkazového riadka. Táto metóda je
jednoduchou implementáciou príkazového riadka operačného systému
s úzkou množinou vnútorných príkazov vymenovaných nižšie. Metóda
používa funkcie implementované v statickej inštancii príkazovýRiadok
(pozri triedu PríkazovýRiadok
). Napríklad metódu execute
na spustenie
externého procesu. Štandardný výstup procesov
je presmerovaný na vnútornú konzolu sveta (stropu – pozri
napríklad metódu vypíšRiadok
).
Vnútorne spracúvané príkazy (neposielané do OS):
CD
/CHDIR
– zmení vnútorné
nastavenie aktuálnej cesty, v ktorej má byť spustený nasledujúci
proces. (Doplňujúce informácie v anglickom jazyku sú v opise
metódy ExecuteShellCommand.changePath(String)
.)CLS
– vymaže obsah vnútornej konzoly sveta
(stropu).ECHO
– vypíše zadané argumenty na vnútornú
konzolu sveta (stropu). Obsahy premenných prostredia sú
rozvinuté.CHCP
– zmení kódovanie inštancie príkazového
riadka alebo konfiguruje vnútornú mapu kódovaní príkazov
podrobnosti v anglickom jazyku sú v opise metódy ExecuteShellCommand.changeEncoding(String)
.MAPCMD
– upraví alebo overí mapovanie zadaného
príkazu, prípadne vypíše zoznam všetkých mapovaní. (Doplňujúce
informácie v anglickom jazyku sú v opise metódy ExecuteShellCommand.mapCommand(String)
.)PROMPT
– zmení definíciu náveste príkazového
riadka. (Použitie náveste je nepovinné. Doplňujúce informácie
v anglickom jazyku sú v opise metódy ExecuteShellCommand.setPrompt(String)
.)SET
– nastaví, vymaže, vypíše zoznam premenných
prostredia príkazového riadka alebo si vyžiada doplňujúci vstup.
Príkaz dokáže vyhodnocovať výrazy (Doplňujúce informácie
v anglickom jazyku sú v opise metódy ExecuteShellCommand.setVariable(String)
.)TITLE
– upraví definíciu titulku okna konzoly,
ktorá sa automaticky prenesie do titulku okna sveta. (Doplňujúce
informácie v anglickom jazyku sú v opise metódy ExecuteShellCommand.setTitle(String)
.)PAUSE, EXIT
– tieto dva príkazy sú vypnuté.
Metóda ich rozpoznáva, pretože sú relatívne bežné a aby neboli
omylom poslané operačnému systému ako žiadosť o spustenie
procesu, ktorá by sa skončila s chybou.príkaz
– reťazec obsahujúci jediný príkaz príkazového riadka
na vykonaniepublic static void spracujPrikaz(String príkaz)
Alias pre spracujPríkaz
.
public static String zadajReťazec(String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na zadanie údajov.
Príklad:
|
|
|
výzva
– text výzvyString
s textom, ktorý
zadal používateľ, alebo null
ak používateľ dialóg
zrušilzadajReťazec(String, String)
,
zadajHeslo(String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String)
,
zadajReálneČíslo(String, String)
,
upravReťazec(String, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
public static String zadajRetazec(String výzva)
Alias pre zadajReťazec
.
public static String zadajReťazec(String výzva, String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na zadanie údajov.
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šilzadajReťazec(String)
,
zadajHeslo(String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String)
,
zadajReálneČíslo(String, String)
,
upravReťazec(String, String, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
public static String zadajRetazec(String výzva, String titulok)
Alias pre zadajReťazec
.
public static String zadajHeslo(String výzva)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na zadanie hesla.
Poznámka: Táto metóda je určená na tvorbu
príkladov na vzdelávacie účely. Riadi sa princípom jednoduchosti.
Vyššiu bezpečnosť pri zadávaní hesla poskytuje metóda
dialóg(popisy,
údaje, titulok)
a jej klony.
výzva
– text výzvyString
s heslom, ktoré
zadal používateľ, alebo null
ak používateľ dialóg
zrušilzadajReťazec(String)
,
zadajReťazec(String, String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String)
,
zadajReálneČíslo(String, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
public static String zadajHeslo(String výzva, String titulok)
Otvorí štandardný dialóg so zadanou výzvou a zadávacím poľom na zadanie hesla.
Poznámka: Táto metóda je určená na tvorbu
príkladov na vzdelávacie účely. Riadi sa princípom jednoduchosti.
Vyššiu bezpečnosť pri zadávaní hesla poskytuje metóda
dialóg(popisy,
údaje, titulok)
a jej klony.
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šilzadajReťazec(String)
,
zadajReťazec(String, String)
,
zadajHeslo(String)
,
zadajCeléČíslo(String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String)
,
zadajReálneČíslo(String, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
public static Long zadajCeléČí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). Pozri príklad pri
zadajCeléČíslo
.
|
Ukážka dialógu (macOS). |
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é
číslozadajReťazec(String)
,
zadajReťazec(String, String)
,
zadajHeslo(String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String)
,
zadajReálneČíslo(String, String)
,
upravCeléČíslo(long, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
,
formát
public static Long zadajCeleCislo(String výzva)
Alias pre zadajCeléČíslo
.
public static Long zadajCeléČí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).
Príklad:
|
|
|
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é
číslozadajReťazec(String)
,
zadajReťazec(String, String)
,
zadajHeslo(String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String)
,
zadajReálneČíslo(String)
,
zadajReálneČíslo(String, String)
,
upravCeléČíslo(long, String, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
,
formát
public static Long zadajCeleCislo(String výzva, String titulok)
Alias pre zadajCeléČíslo
.
public static Double zadajReá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). Pozri príklad pri
zadajReálneČíslo
.
|
Ukážka dialógu (macOS). |
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 číslozadajReťazec(String)
,
zadajReťazec(String, String)
,
zadajHeslo(String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String, String)
,
upravReálneČíslo(double, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
,
formát
public static Double zadajRealneCislo(String výzva)
Alias pre zadajReálneČíslo
.
public static Double zadajReá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).
Príklad:
|
|
|
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 číslozadajReťazec(String)
,
zadajReťazec(String, String)
,
zadajHeslo(String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String)
,
upravReálneČíslo(double, String, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
,
formát
public static Double zadajRealneCislo(String výzva, String titulok)
Alias pre zadajReálneČíslo
.
public 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. Funguje podobne ako metóda zadajReťazec
, ibaže vyžaduje zadanie
reťazca určeného na úpravu.
|
Ukážka dialógu (macOS). |
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(long, String)
,
upravCeléČíslo(long, String, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
zadajReťazec(String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
public static String upravRetazec(String reťazec, String výzva)
Alias pre upravReťazec
.
public 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. Funguje podobne ako metóda zadajReťazec
, ibaže vyžaduje
zadanie reťazca určeného na úpravu.
|
Ukážka dialógu (macOS). |
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(long, String)
,
upravCeléČíslo(long, String, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
zadajReťazec(String, String)
,
dialóg(String[], Object[])
,
dialóg(String[], Object[], String)
public static String upravRetazec(String reťazec, String výzva, String titulok)
Alias pre upravReťazec
.
public static Long upravCeléČíslo(long 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). Funguje podobne ako
metóda zadajCeléČíslo
, ibaže
vyžaduje zadanie celého čísla určeného na úpravu.
|
Ukážka dialógu (macOS). |
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(long, String, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
zadajCeléČíslo(String)
,
formát
public static Long upravCeleCislo(long celéČíslo, String výzva)
Alias pre upravCeléČíslo
.
public static Long upravCeléČíslo(long 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). Funguje podobne ako
metóda zadajCeléČíslo
,
ibaže vyžaduje zadanie celého čísla určeného na úpravu.
|
Ukážka dialógu (macOS). |
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(long, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
zadajCeléČíslo(String, String)
,
formát
public static Long upravCeleCislo(long celéČíslo, String výzva, String titulok)
Alias pre upravCeléČíslo
.
public 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). Funguje podobne ako
metóda zadajReálneČíslo
,
ibaže vyžaduje zadanie reálneho čísla určeného na úpravu.
|
Ukážka dialógu (macOS). |
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(long, String)
,
upravCeléČíslo(long, String, String)
,
upravReálneČíslo(double, String, String)
,
zadajReálneČíslo(String)
,
formát
public static Double upravRealneCislo(double reálneČíslo, String výzva)
Alias pre upravReálneČíslo
.
public 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). Funguje podobne ako
metóda zadajReálneČíslo
, ibaže vyžaduje zadanie reálneho čísla
určeného na úpravu.
|
Ukážka dialógu (macOS). |
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(long, String)
,
upravCeléČíslo(long, String, String)
,
upravReálneČíslo(double, String)
,
zadajReálneČíslo(String, String)
,
formát
public static Double upravRealneCislo(double reálneČíslo, String výzva, String titulok)
Alias pre upravReálneČíslo
.
public static boolean dialóg(String[] popisy, Object[] údaje)
Otvorí prispôsobiteľný dialóg s prvkami vytvorenými podľa poľa
údaje
. Táto metóda funguje rovnako ako metóda
dialóg(popisy,
údaje, titulok)
, ale namiesto zadaného titulku dialógu je
zobrazený predvolený text ("Dialóg"
). Dalšie
podrobnosti a príklad použitia nájdete v opise uvedenej metódy.
popisy
– pole popisov komponentovúdaje
– pole hodnôt komponentov, ktoré zároveň určuje typ
komponentutrue
znamená, že používateľ dialóg potvrdilzadajReťazec(String)
,
zadajReťazec(String, String)
,
zadajHeslo(String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String)
,
zadajReálneČíslo(String, String)
,
upravReťazec(String, String)
,
upravCeléČíslo(long, String)
,
upravCeléČíslo(long, String, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
dialóg(String[], Object[], String)
public static boolean dialóg(String[] popisy, Object[] údaje, String titulok)
Vytvorí a otvorí prispôsobiteľný dialóg s prvkami vytvorenými
podľa obsahu poľa údaje
. Metóda akceptuje v poli prvkov
údaje
osem údajových typov (resp. v poslednom prípade
špeciálnu hodnotu null
) prvkov tohto poľa:
String
, ktorá
spôsobí, že na určenej pozícii v dialógu sa bude nachádzať
textové vstupné pole s predvolenou zadanou hodnotou (môže to byť
aj prázdny reťazec ""
, ale údajový typ musí byť
String
),Double
, ktorá
spôsobí, že na určenej pozícii v dialógu sa bude nachádzať
textové vstupné pole s predvolenou zadanou číselnou hodnotou;
funguje podobne ako typ String
, ale výsledok je
automaticky prevedený na reálne číslo metódou reťazecNaReálneČíslo
; ak pri
prevode nastane chyba, v objekte bude uložená hodnota
Double.NaN
,Boolean
, ktorá
spôsobí, že na určenej pozícii v dialógu sa bude nachádzať
prvok začiarkavacieho políčka s predvolenou zadanou hodnotou,Farba
(čo je trieda
programovacieho rámca GRobot), ktorá spôsobí, že na určenej pozícii
dialógu bude zobrazený panel na výber farby s predvolenou zadanou
farbou, pričom zmenu môže používateľ vykonať výberom z paletoy
predvolených farieb programovacieho rámca alebo prostredníctvom
preddefinovaného dialógu Javy, ktorý je dostupný cez prislúchajúce
tlačidlo,Bod
(čo je trieda
programovacieho rámca GRobot), ktorá spôsobí, že na určenej pozícii
dialógu bude zobrazený panel na grafickú voľbu polohy s predvolenou
polohou podľa hodnôt v inštancii Bod
a s možnosťou
zadania súradníc do vstupných polí,Uhol
(čo je trieda
programovacieho rámca GRobot), ktorá spôsobí, že na určenej pozícii
dialógu bude zobrazený panel na grafickú voľbu uhla (smeru)
s predvolenou hodnotou podľa zadanej inštancie Uhol
a s možnosťou zadania (zmeny) uhla prostredníctvom vstupného
poľa,Rozmery
(čo je trieda
programovacieho rámca GRobot), ktorá spôsobí, že na určenej pozícii
dialógu bude zobrazený panel na grafickú voľbu rozmerov
s predvolenou šírkou a výškou podľa hodnôt uložených v inštancii
Rozmery
a s možnosťou zadania (zmeny) rozmerov do
vstupných polí,Enum
– čiže
prvok enumeračného údajového typu; ktorý spôsobí, že na určenej
pozícii dialógu bude zobrazený panel so zoznamom rádiových
tlačidiel vytvorený podľa všetkých položiek dotknutého údajového
typu, pričom zadaná hodnota bude použitá na určenie aktuálne
zvoleného rádiového tlačidla (aktuálne zvolenej hodnoty v rámci
skupiny týchto tlačidiel),Vector
,
resp. odvodeného, napr. Zoznam
), ktorá spôsobí, že
na určenej pozícii bude zobrazený zoznam položiek vytvorený
z objektov zoznamu (okrem prvej položky) prevedených na reťazce;
výnimku tvorí typový zoznam objektov Image
(resp.
odvodených, napr. Obrázok
; opäť, okrem prvej
položky), ktorý spôsobí zobrazenie obrázkového zoznamu; pozor,
prvá položka zoznamu je rezervovaná na zadanie a prevzatie voľby
zoznamu; táto položka je pri tvorbe zoznamu použitá na výber
predvolenej položky zoznamu spomedzi ostatných položiek a po
návrate je zmenená podľa voľby používateľa, čiže jej hodnota
(ktorá je zmenená/nahradená aj v pôvodnom zozname) určuje
používateľom zvolenú položku (hodnota null
znamená,
že používateľ nezvolil žiadnu položku alebo výber zrušil),JScrollPane
, ktorá je
(prirodzene, že spolu s jej obsahom) do dialógu iba vložená; nie
je nijako dodatočne spracovaná a je ponechaná na svojom mieste
aj vo vrátených údajoch; programátor môže na tomto mieste s výhodou
využiť pripravenú triedu podpora.ScrollTextPane
,
ktorá obsahuje niečo ako „odľahčenú verziu“ triedy PoznámkovýBlok
(pretože poznámkový blok by
v dialógu nebol použiteľný z dôvodu jeho úzkej viazanosti na
komponent sveta),Character
,
ktorá má špeciálny význam – je rezervovaná na vkladanie riadiacich
znakov – v súčasnosti sú platné tri hodnoty:'\n'
– dá sa použiť znaková
konštanta riadok
) – táto hodnota prepne
dialóg zo stĺpcového do riadkového režimu a všetky komponenty
dialógu (zodpovedajúce jednotlivým prvkom vstupného poľa –
zdrojovým prvkom), ktorých zdrojové prvky sú umiestnené
medzi prvkami nového riadka (to znamená, že každý nový
riadok musí byť samostatným prvkom vstupného poľa
údaje
), budú umiestnené na samostatnom neviditeľnom
paneli dialógu – akoby v jednom riadku (k tomuto znaku musí v poli
popisy
párovať hodnota null
);'\r'
– dá sa použiť znaková
konštanta návrat
) – táto hodnota použije
párujúci reťazec poľa popisy
ako text bez párujúceho
komponentu, čo sa dá využiť na vkladanie rôznych textov pomedzi
komponenty (pozri aj príklad v opise metódy odpoveďDialógu
)'\f'
– dá sa použiť znaková
konštanta strana
) – táto hodnota prepne
dialóg do režimu viacerých stĺpcov; výskyt tohto znaku bude znamenať
začiatok nového stĺpca vkladania komponentov dialógu (aj k tomuto
znaku musí v poli popisy
párovať hodnota null
);strana
zmenila v dialógoch ešte jedna vec:
predtým boli popisy komponentov v riadkovom rozložení pred nimi, od
verzie 2.22 zostávajú nad nimi, ako je očakávané)
null
, ktorá spôsobí, že na určenej
pozícii bude umiestnený vstupný prvok na zadanie hesla.Ku každému prvku poľa údaje
musí byť zadaný
korešpondujúci prvok poľa popisy
, ktorý určí popis
komponentu. Výnimku tvoria znaky nových riadkov (pozri bod
s hodnotou údajového typu Character
vyššie),
ktoré nesmú mať zadaný korešpondujúci reťazec – pri ňom treba zadať
namiesto platného reťazca hodnotu null
, pretože platný
reťazec by sa automaticky priradil k ďalšiemu komponentu v dialógu,
čím by sa významovo posunul na nesprávne miesto a to by sa reťazovo
premietlo do celého dialógu.
Poznámka: Pozor na rozdiel významov
hodnoty null
v poliach popisy
a údaje
.
V poli popisy
hodnota null
páruje so „zalomením
riadka“ ('\n'
) – akoby „vynecháva“ popis, aby počty
prvkov v oboch poliach sedeli. V poli údaje
prikazuje
hodnota null
vytvoriť komponent hesla (vrátane
párujúceho popisu prečítaného z poľa popisy
).
Posledný argument metódy – reťazec titulok
určí titulok
dialógu.
Pravdivá návratová hodnota vypovedá o tom, že používateľ
dialóg skutočne potvrdil. (Texy tlačidiel dialógu je možné
upraviť metódou textTlačidla
.)
Príklad:
// Predpokladajme, že v premenných „meno“ a „heslo“ sú prihlasovacie
// údaje, pričom heslo môže byť zašifrované alebo zahešované…
String
meno ="Mundos"
;char
[] heslo = {'a'
,'b'
,'c'
,'d'
};// Pripravíme si pole údajov, s ktorými budeme pracovať:
Object
[] údaje = {""
,null
,false
};// Tento príznak zabezpečí ukončenie aplikácie v prípade zlyhania
// prihlasovacieho procesu:
boolean
prihlásenieZlyhalo =false
;// Spustíme dialóg a len v prípade, že ho používateľ potvrdil,
// overíme správnosť prihlasovacích údajov:
if
(Svet
.dialóg
(new
String
[] {"Meno:"
,"Heslo:"
,"Zapamätaj si ma"
}, údaje,"Prihlásenie sa…"
)) {// Najprv overujeme prihlasovacie meno:
if
(null
!= údaje[0
] && údaje[0
]instanceof
String
&& meno.equalsIgnoreCase
((String
)údaje[0
])) {// Potom heslo:
if
(null
!= údaje[1
] && údaje[1
]instanceof
char
[]) {char
porovnaj[] = (char
[])údaje[1
];// Niekde na tomto mieste by mohlo byť vykonané hešovanie
// hesla, ale pozor, pôvodné aj hešlované heslo treba
// po použití vyčistiť v súlade s tým, čo je vysvetlené
// nižšie… (Hľadaj text začínajúci sa „Oracle odporúča“…)
if
(porovnaj.length == heslo.length) {for
(int
i =0
; i < porovnaj.length; ++i)if
(porovnaj[i] != heslo[i]) { prihlásenieZlyhalo =true
;break
; }// Na tomto mieste by sme mohli zužitkovať voľbu
// „Zapamätaj si ma“ (ktorá je v tomto príklade
// použitá v podstate len na demonštráciu možností
// metódy „dialóg“):
if
(!prihlásenieZlyhalo &&null
!= údaje[2
] && údaje[2
]instanceof
Boolean
&& (Boolean
)údaje[2
]) {//...
Svet
.správa
("Zvolili ste voľbu „Zapamätaj si ma“…"
);//...
} }else
prihlásenieZlyhalo =true
; }else
prihlásenieZlyhalo =true
; }else
prihlásenieZlyhalo =true
; }else
prihlásenieZlyhalo =true
;// Oracle odporúča po použití hesla nastaviť každý jeho znak na nulu,
// aby nezostávalo uložené a vystopovateľné v pamäti RAM (tam by
// mohlo zostať aj po ukončení aplikácie, napr. v dôsledku
// nekorektného prihlásenia sa, preto toto čistenie vykonávame
// v každom prípade):
if
(null
!= údaje[1
] && údaje[1
]instanceof
char
[]) {char
vymaž[] = (char
[])údaje[1
];for
(int
i =0
; i < vymaž.length; ++i) vymaž[i] =0
; }// To isté urobíme aj so vzorom hesla…
for
(int
i =0
; i < heslo.length; ++i) heslo[i] =0
;// V prípade zlyhania prihlasovacieho procesu aplikáciu ukončíme:
if
(prihlásenieZlyhalo) {Svet
.správa
("Prihlasovanie zlyhalo!"
);Svet
.koniec
();return
;// (Volanie metódy „koniec“ nie je to isté ako okamžité
// ukončenie aplikácie – „upratovacie procesy“ ešte môžu chvíľu trvať,
// preto sem pridávame aj príkaz „return.“)
}// ...
Svet
.správa
("Prihlásenie je v poriadku. Vitajte!"
);
Výsledok:
Po spustení aplikácie sa používateľovi zobrazí dialóg na obrázku nižšie.
|
|
Ak používateľ zadal správne údaje, tak pri zvolení voľby „Zapamätaj si ma“ (ako na obrázku) sa najprv zobrazí správa ‚Zvolili ste voľbu „Zapamätaj si ma“…‘ a po potvrdení správa „Prihlásenie je v poriadku. Vitajte!“
popisy
– pole popisov komponentovúdaje
– pole hodnôt komponentov, ktoré zároveň určuje typ
komponentutitulok
– titulok dialógutrue
znamená, že používateľ dialóg potvrdilzadajReťazec(String)
,
zadajReťazec(String, String)
,
zadajHeslo(String)
,
zadajHeslo(String, String)
,
zadajCeléČíslo(String)
,
zadajCeléČíslo(String, String)
,
zadajReálneČíslo(String)
,
zadajReálneČíslo(String, String)
,
upravReťazec(String, String)
,
upravCeléČíslo(long, String)
,
upravCeléČíslo(long, String, String)
,
upravReálneČíslo(double, String)
,
upravReálneČíslo(double, String, String)
,
dialóg(String[], Object[])
public static boolean dialog(String[] popisy, Object[] údaje, String titulok)
Alias pre dialóg
.
public static void mojeOdpovede(Object[] odpovede)
Zmení predvolené odpovede komunikačných dialógov programovacieho
rámca na vlastné. Predvolené odpovede sú len dve: OK a Zrušiť. Ich
znenie sa dá zmeniť metódou textTlačidla
, ale nie ich počet. Touto metódou sa dá zmeniť nielen
ich znenie, ale aj ich počet. Tým sa dá navýšiť počet volieb, ktoré
môže vykonať používateľ.
Z dôvodu sprístupnenia ďalších volieb programátorovi a zároveň
zachovania spätnej kompatibility dialógov, bola definovaná nová
metóda: odpoveďDialógu
. Jej návratová
hodnota určuje voľbu používateľa pri zavretí posledného zobrazeného
komunikačného dialógu.
Vlastné odpovede budú platné do okamihu, kým nie je táto metóda
volaná s parametrom null
.
Trochu to mení spôsob práce s dialógmi. Prakticky to ukazuje nasledujúci príklad.
Príklad:
Svet
.mojeOdpovede
(new
String
[]{"Áno"
,"Nie"
,"Vždy"
,"Nikdy"
});Svet
.dialóg
(new
String
[]{"Chcete naozaj vykonať túto operáciu?"
},new
Object
[]{'\r'
},"Otázka…"
);Svet
.vypíš
(Svet
.odpoveďDialógu
(),' '
);
Svet
.mojeOdpovede
(new
String
[]{"Áno"
,"Nie"
,"Zrušiť"
});Svet
.dialóg
(new
String
[]{"Chcete naozaj vykonať túto operáciu?"
,"Zapamätať si moju voľbu"
},new
Object
[]{'\r'
,false
},"Otázka…"
);Svet
.vypíš
(Svet
.odpoveďDialógu
(),' '
);
Svet
.mojeOdpovede
(null
);
odpovede
– zoznam vlastných odpovedí dialógovodpoveďDialógu()
public static Object[] mojeOdpovede()
Vráti pole vlastných odpovedí komunikačných dialógov
programovacieho rámca alebo hodnotu null
, ak sú aktívne
predvolené odpovede. Podrobnosti nájdete v opise príbuznej metódy
mojeOdpovede
.
null
public static int odpoveďDialógu()
Vráti číslo (index) voľby v poslednom dialógu, ktorý bol zobrazený používateľovi. Klasicky (historicky) boli v dialógoch k dispozícii len dve možné odpovede (voľby/tlačidlá; ak nerátame zavretie dialógu „krížikom“ – tlačidlom zavretia okna OS): OK a Zrušiť.
Poznámka: Voľba systémového tlačidla zavretia dialógu („krížika“ na ráme dialógového okna) vráti kód −1 a jednotlivé tlačidlá umiestnené v spodnej časti dialógu vracajú kódy od indexu 0 po hodnotu počtu tlačidiel mínus jedna.
Obmedzenie dvoch tlačidiel sa zmenilo implementovaním metódy
mojeOdpovede
, ktorá dovoľuje pridať
prakticky ľubovoľné množstvo tlačidiel odpovedí. Bolo by zbytočné
mať k dispozícii množstvo volieb a nemať možnosť zistiť, ktorá
z nich bola zvolená. Preto vznikla táto metóda, ktorá dovoľuje
po zavretí dialógu zistiť, ktorá z možností bola používateľom
vybraná.
Príklad použitia je v opise metódy
mojeOdpovede
.
mojeOdpovede(Object[])
public static int odpovedDialogu()
Alias pre odpoveďDialógu
.
public static void správa(String správa)
Zobrazí štandardný dialóg so zadanou textovou správou.
|
|
správa
– text správyspráva(String, String)
,
varovanie(String)
,
chyba(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)
Zobrazí štandardný dialóg so zadanou textovou správou.
|
|
správa
– text správytitulok
– text titulku dialógového okna správyspráva(String)
,
varovanie(String, String)
,
chyba(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 varovanie(String varovanie)
Zobrazí štandardný dialóg so zadanou textovou správou a ikonou varovania.
|
|
varovanie
– text s obsahom varovaniaspráva(String)
,
správa(String, String)
public static void varovanie(String varovanie, String titulok)
Zobrazí štandardný dialóg so zadanou textovou správou a ikonou varovania.
|
|
varovanie
– text s obsahom varovaniatitulok
– text titulku dialógového okna varovaniaspráva(String)
,
správa(String, String)
public static void chyba(String chyba)
Zobrazí štandardný dialóg so zadanou textovou správou a ikonou chyby.
|
|
chyba
– text s obsahom chybyspráva(String)
,
správa(String, String)
public static void chyba(String chyba, String titulok)
Zobrazí štandardný dialóg so zadanou textovou správou a ikonou chyby.
|
|
chyba
– text s obsahom chybytitulok
– text titulku dialógového okna chybyspráva(String)
,
správa(String, String)
public 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).
Príklad:
|
|
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)
Zobrazí štandardný dialóg s otázkou na používateľa (odpoveď používateľ volí stlačením tlačidla).
Príklad:
|
|
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á)
Zobrazí štandardný dialóg s otázkou na používateľa (odpoveď používateľ volí stlačením tlačidla).
Príklad:
| Ukážka možného vzhľadu dialógu zobrazeného počas vykonávania tohto príkladu (Windows). | Ukážka dialógu (macOS). |
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á)
Zobrazí štandardný dialóg s otázkou na používateľa (odpoveď používateľ volí stlačením tlačidla).
Príklad:
| Ukážka možného vzhľadu dialógu zobrazeného počas vykonávania tohto príkladu (Windows). | Ukážka dialógu (macOS). |
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)
Zobrazí štandardný dialóg s otázkou na používateľa (odpoveď používateľ volí stlačením tlačidla).
Príklad:
| Ukážka možného vzhľadu dialógu zobrazeného počas vykonávania tohto príkladu (Windows). | Ukážka dialógu (macOS). |
otázka
– text otázkytlačidlá
– zoznam popisov tlačidielpredvolenéTlačidlo
– „poradové číslo“ (index) 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)
Alias pre otázka
.
public 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).
Príklad:
|
|
otázka
– text otázkytitulok
– text titulku okna s otázkoutlačidlá
– zoznam popisov tlačidielpredvolenéTlačidlo
– „poradové číslo“ (index) 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)
Alias pre otázka
.
public static String textTlačidla(String tlačidlo)
Umožňuje overiť aktuálne definované znenie textu tlačidla
konkrétnej odpovede na otázku (pozri napríklad metódu
otázka
) alebo zadania/zmeny údaju (pozri
napríklad metódu zadajReťazec
).
Predvolené znenie textov tlačidiel sa dá zmeniť metódou
textTlačidla(tlačidlo, text)
.
Táto metóda prijíma text, ktorý považuje za univerzálny
identifikátor tlačidla a vráti skutočný text tlačidla.
tlačidlo
– musí byť jeden z nasledujúcich predvolených textov:
"áno"
, "nie"
, "ok"
,
"zrušiť"
, "reset farby"
,
"miešanie farby"
, "reset polohy"
,
"reset smeru"
alebo "reset rozmeru"
(na
veľkosti písmen nezáleží; programovací rámec prijme aj
predvolené texty bez diakritiky alebo bez medzier, ale v tom
prípade je potrebné ju/ich vynechať v celom slove/texte)null
ak je
hodnota argumentu neplatnámojeOdpovede(Object[])
public static String textTlacidla(String tlačidlo)
Alias pre textTlačidla
.
public static void textTlačidla(String tlačidlo, String text)
Umožňuje upraviť text tlačidla odpovede na otázku (pozri napríklad
metódu otázka
) alebo zadania údaju (pozri
napríklad metódu zadajReťazec
).
tlačidlo
– musí byť jeden z nasledujúcich predvolených textov:
"áno"
, "nie"
, "ok"
,
"zrušiť"
, "reset farby"
,
"miešanie farby"
, "reset polohy"
,
"reset smeru"
alebo "reset rozmeru"
(na
veľkosti písmen nezáleží; programovací rámec prijme aj
predvolené texty bez diakritiky alebo bez medzier, ale v tom
prípade je potrebné ju/ich vynechať v celom slove/texte)text
– nový text určeného tlačidla (ak je hodnota prvého
argumentu neplatná, nebude mať volanie tejto metódy žiadny
efekt)public static void textTlacidla(String tlačidlo, String text)
Alias pre textTlačidla
.
public static String textMenovky(String menovka)
Umožňuje overiť aktuálne definované znenie textu menovky
na niektorých paneloch volieb (pozri napríklad metódu
dialóg
).
Predvolené znenie textov menoviek sa dá zmeniť metódou
textMenovky(menovka, text)
.
Táto metóda prijíma text, ktorý považuje za univerzálny
identifikátor menovky a vráti skutočný text menovky.
menovka
– musí byť jeden z nasledujúcich predvolených textov:
"menovka x"
, "menovka y"
, "menovka šírky"
alebo "menovka výšky"
(na
veľkosti písmen nezáleží; programovací rámec prijme aj
predvolené texty bez diakritiky alebo bez medzier, ale v tom
prípade je potrebné ju/ich vynechať v celom slove/texte)null
ak je
hodnota argumentu neplatnápublic static void textMenovky(String menovka, String text)
Umožňuje upraviť text menovky na niektorých paneloch volieb
(pozri napríklad metódu dialóg
).
menovka
– musí byť jeden z nasledujúcich predvolených textov:
"menovka x"
, "menovka y"
, "menovka šírky"
alebo "menovka výšky"
(na
veľkosti písmen nezáleží; programovací rámec prijme aj
predvolené texty bez diakritiky alebo bez medzier, ale v tom
prípade je potrebné ju/ich vynechať v celom slove/texte)text
– nový text určenej menovky (ak je hodnota prvého
argumentu neplatná, nebude mať volanie tejto metódy žiadny
efekt)public static void zobrazÚvodnúObrazovku(Image obrázok)
Zobrazí úvodnú obrazovku so zadaným obrázkom. Úvodná obrazovka
(splash screen) je dekoračný obrázok zobrazovaný počas
inicializácie aplikácie. Má upozorniť používateľa, že aplikácia sa
práve spúšťa a potrebuje čas na svoju úplnú inicializáciu. Volanie
tejto metódy zároveň spôsobí skrytie hlavného okna aplikácie
(sveta), nezabudnite preto po skončení inicializácie použiť metódu
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 programovací rámec GRobot svoj vlastný spôsob.
Obrázok pre túto verziu metódy musíte definovať sami. Nie je
predpísaný spôsob, ale priam sa ponúka 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:
import
knižnica.*;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(); // ← týmto spôsobom by sme v podstate zamedzili,
// aby sa inštancia hlavnej triedy stala hlavným robotom (čo
// by nebolo podľa nášho očakávania) a hlavným robotom by zostal
// skrytý kreslič; preto urobíme toto:
Svet
.uvoľni
(kreslič);// 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 (pozri text
pred príkladom), 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 formátov 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 si 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"
);// Tento robot bol doteraz hlavným robotom. Aby bolo vykonávanie
// programu konzistetné v oboch prípadoch – keď obrázok úvodnej
// obrazovky nejestvuje a keď obrázok už bol vytvorený – odstránime
// v tejto vetve kresliča z pamäte počítača. Hlavným robotom sa
// potom stane inštancia triedy HlavnáTrieda – rovnako ako po
// vykonaní hlavnej vetvy tohto vetvenia.
// (Poznámka: Nastavenie farby robota na červenú je len
// ilustračné – aby bolo vidno, že robot naozaj nejestvuje.)
kreslič.farba
(červená
);Svet
.uvoľni
(kreslič);// Zobrazenie
Svet
.zobrazÚvodnúObrazovku
(obrázok); }new
HlavnáTrieda();Svet
.skryÚvodnúObrazovku
();// Ak by sme vo vedľajšej vetve vyššie uvedeného vetvenia neodstránili
// robot (kresliča), tak pri prvom spustení (keby ešte nejestvoval
// obrázok) by sa nasledujúca kružnica nenakreslila a pod robotom
// inštancie HlavnáTrieda by bolo vidno (aspoň presvitajúc) ďalší
// červený robot. Kružnica by sa v skutočnosti nakreslila –
// červenou farbou, ale do inštancie obrázok, do ktorej má kreslič
// presmerované kreslenie. (Obrázok je v tom čase už uložený, takže
// v ňom by ste ju nenašli.) Pri každom ďalšom spustení by sa
// nakreslila kružnica inštanciou triedy HlavnáTrieda (predvolene
// čiernou farbou). Uvoľnenie kresliča z pamäte túto nekonzistenciu
// odstraňuje.
Svet
.hlavnýRobot
().kružnica
(50
);
O niečo zdokonalenú verziu môžete vidieť na nasledujúcom obrázku:
Obrázok úvodnej obrazovky –
„uvodnaObrazovka1.png
.“
Obrázok je pre demonštráciu polopriehľadný. Zobrazenie priehľadnosti okna závisí od platformy a verzie Javy.
Upozornenie: Robot (kresliča) síce
odstránime z pamäti počítača, svet sa však už zrušiť nedá.
Rovnako platí, že svet je vytvorený i pri vykonaní príkazu
zobrazÚvodnúObrazovku(názovSúboru)
. Z týchto dôvodov nie je
možné po použití príkazov na zobrazenie úvodnej obrazovky
použiť v konštruktore hlavnej triedy príkaz super
na nastavenie rozmerov plátna. Program by sa zrútil so vznikom
výnimky „Svet už jestvuje!“ Dá sa však použiť príkaz
zmeňRozmeryPlátien
.
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)
Alias pre zobrazÚvodnúObrazovku
.
public static void zobrazÚvodnúObrazovku(String názovSúboru)
Zobrazí úvodnú obrazovku so zadaným obrázkom prečítaným zo súboru.
Úvodná obrazovka (splash screen) je dekoračný obrázok
zobrazovaný počas inicializácie aplikácie. Má upozorniť
používateľa, že aplikácia sa práve spúšťa a potrebuje čas na svoju
úplnú inicializáciu. Volanie tejto metódy zároveň spôsobí skrytie
hlavného okna aplikácie (sveta), nezabudnite preto po skončení
inicializácie použiť metódu 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 programovací rámec GRobot svoj vlastný spôsob.
Príklad:
import
knižnica.*;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
(); } }
Upozornenie: Vykonanie tohto príkazu
má za následok inicializáciu sveta. Z toho dôvodu nie je možné
po jeho použití použiť v konštruktore hlavnej triedy príkaz
super
na nastavenie rozmerov plátna. Program by sa
zrútil so vznikom výnimky „Svet už jestvuje!“ Dá sa však použiť
príkaz zmeňRozmeryPlátien
.
Obrázok prečítaný zo súboru je chápaný ako zdroj a po
prečítaní zostane uložený vo vnútornej pamäti sveta. Z nej
môže byť v prípade potreby (napríklad ak sa obsah súboru na
disku zmenil) odstránený metódou Svet.uvoľni(názovZdroja)
. (Táto informácia je platná pre
všetky metódy pracujúce s obrázkami alebo zvukmi, ktoré
prijímajú názov súboru ako parameter.)
názovSúboru
– názov súboru s obrázkom (prípona súboru musí
byť .gif
, .png
alebo .jpg
(resp.
.jpeg
))GRobotException
– ak súbor s obrázkom nebol nájdenýzobrazÚvodnúObrazovku(Image)
,
skryÚvodnúObrazovku()
,
priečinokObrázkov(String)
public static void zobrazUvodnuObrazovku(String názovSúboru)
Alias pre zobrazÚvodnúObrazovku
.
public static void skryÚvodnúObrazovku()
Skryje úvodnú obrazovku a zobrazí hlavné okno aplikácie. Viac
informácií nájdete v opisoch metód zobrazÚvodnúObrazovku(obrázok)
a zobrazÚvodnúObrazovku(názovSúboru)
…
public static void skryUvodnuObrazovku()
Alias pre skryÚvodnúObrazovku
.
public static boolean začniVstup()
Zobrazí vstupný riadok v spodnej časti okna. Aplikácia pokračuje
v činnosti. Ak bol vstupný riadok zobrazený (t. j. už prebieha
iný vstup), metóda sa predčasne ukončí a vráti 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()
,
panelVstupnéhoRiadka()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static boolean zacniVstup()
Alias pre začniVstup
.
public 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.
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()
,
panelVstupnéhoRiadka()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static boolean zacniVstup(String výzva)
Alias pre začniVstup
.
public static void potvrďVstup()
Vykoná pre vstupný riadok rovnakú akciu ako pri stlačení klávesu
Enter
.
public static void potvrdVstup()
Alias pre potvrďVstup
.
public static void zrušVstup()
Vykoná pre vstupný riadok rovnakú akciu ako pri stlačení klávesu
Escape
.
public static void zrusVstup()
Alias pre zrušVstup
.
public static boolean vstupnýRiadokZobrazený()
Overí, či je zobrazený panel vstupného riadka.
true
– áno; false
– nieneskrývajVstupnýRiadok()
,
neskrývajVstupnýRiadok(boolean)
,
skrývajVstupnýRiadok()
,
skrývajVstupnýRiadok(boolean)
,
aktivujVstupnýRiadok()
,
začniVstup()
,
vstupnýRiadok()
,
panelVstupnéhoRiadka()
,
prevezmiReťazec()
public static boolean vstupnyRiadokZobrazeny()
Alias pre vstupnýRiadokZobrazený
.
public static void neskrývajVstupnýRiadok()
Prikáže vstupnému riadku, aby sa neskrýval po potvrdení klávesom
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 začniVstup)
.
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()
Alias pre neskrývajVstupnýRiadok
.
public static boolean neskrývajVstupnýRiadok(boolean začniVstup)
Prikáže vstupnému riadku, aby sa neskrýval po potvrdení klávesom
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
hodnotu true
,
tak návratová hodnota je návratovou hodnotou metódy začniVstup
; ak má parameter začniVstup
hodnotu 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()
,
panelVstupnéhoRiadka()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static boolean neskryvajVstupnyRiadok(boolean začniVstup)
Alias pre neskrývajVstupnýRiadok
.
public 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
.
Toto je predvolené správanie vstupného riadka.
public static void skryvajVstupnyRiadok()
Alias pre skrývajVstupnýRiadok
.
public 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
.
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()
,
panelVstupnéhoRiadka()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static void skryvajVstupnyRiadok(boolean zrušVstup)
Alias pre skrývajVstupnýRiadok
.
public 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.
public static void aktivujVstupnyRiadok()
Alias pre aktivujVstupnýRiadok
.
public 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).
Tento komponent je hlavným, ale nie jediným komponentom panela vstupného riadka. Okrem neho sa v ňom nachádza aj prvok popisu, ku ktorému nie je sprostredkovaný priamy prístup – dá sa len nastavovať a čítať text popisu. Ak chcete vstupný riadok zobrazovať alebo skrývať bez ovplyvnenia jeho ďalších vlastností, tak treba meniť viditeľnosť panela, nie viditeľnosť tohto komponentu. Tento komponent je vhodný najmä na jemnejšie ovplyvňovanie textového obsahu vstupného riadka.
JTextField
reprezentujúci
vstupný riadokpanelVstupnéhoRiadka()
,
popisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static JTextField vstupnyRiadok()
Alias pre vstupnýRiadok
.
public static JMenuBar panelVstupnéhoRiadka()
Vráti komponent panela vstupného riadka, aby s ním mohlo byť manipulované na nižšej úrovni (úrovni bližšej k systému).
Panel obsahuje popis a textové
pole – samotný vstupný riadok. K popisu nie je sprostredkovaný
priamy prístup – dá sa len nastavovať a čítať jeho text. K textovému
poľu je prístup sprostredkovaný metódou vstupnýRiadok
. Tá je vhodná najmä na jemnejšie ovplyvňovanie
textového obsahu vstupného riadka. Ale ak chcete napríklad
ovplyvňovať viditeľnosť vstupného riadka, tak treba meniť
viditeľnosť práve tohto panela, nie viditeľnosť samotného textového
poľa riadka.
JMenuBar
reprezentujúci panel
vstupného riadkavstupnýRiadok()
,
popisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static JMenuBar panelVstupnehoRiadka()
Alias pre panelVstupnéhoRiadka
.
public static String popisVstupnéhoRiadka()
null
vstupnýRiadok()
,
panelVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static String popisVstupnehoRiadka()
Alias pre popisVstupnéhoRiadka
.
public static void popisVstupnéhoRiadka(String výzva)
Nastaví text popisu vstupného riadka. Ak bola na
zobrazenie vstupného riadka použitá metóda bez určenia výzvy
(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()
,
panelVstupnéhoRiadka()
,
popisVstupnéhoRiadka()
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static void popisVstupnehoRiadka(String výzva)
Alias pre popisVstupnéhoRiadka
.
public static String textVstupnéhoRiadka()
Získa text aktuálne zadaný do vstupného riadka. Touto
metódou je možné overiť obsah vstupného riadka ešte pred jeho
potvrdením klávesom Enter
.
vstupnýRiadok()
,
panelVstupnéhoRiadka()
,
popisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka(String)
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static String textVstupnehoRiadka()
Alias pre textVstupnéhoRiadka
.
public static void textVstupnéhoRiadka(String text)
Nastaví text vstupného riadka na zadanú
hodnotu. Pozor, metóda 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()
,
panelVstupnéhoRiadka()
,
popisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
pripojTextVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
,
históriaVstupnéhoRiadka()
public static void textVstupnehoRiadka(String text)
Alias pre textVstupnéhoRiadka
.
public static void pripojTextVstupnéhoRiadka(String naPripojenie)
Pripojí zadaný text na koniec vstupného riadka. Volanie metódy má význam len keď je vstupný riadok zobrazený.
naPripojenie
– text na pripojenievstupnýRiadok()
,
panelVstupnéhoRiadka()
,
popisVstupnéhoRiadka()
,
popisVstupnéhoRiadka(String)
,
textVstupnéhoRiadka()
,
textVstupnéhoRiadka(String)
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
prevezmiReťazec()
public static void pripojTextVstupnehoRiadka(String naPripojenie)
Alias pre pripojTextVstupnéhoRiadka
.
public static Zoznam<String> históriaVstupnéhoRiadka()
Vráti zoznam reťazcov histórie vstupného riadka. Na to, aby sa zoznam automaticky plnil (počas činnosti aplikácie), musí byť história aktívna. Vrátený zoznam je autentický. Môžete ho upravovať podľa vlastných potrieb (to jest jeho vymazanie skutočne spôsobí vymazanie histórie a podobne). Históriu je tiež možné nechať automaticky uchovať v konfiguračnom súbore, avšak musí byť aktívna aj samotná konfigurácia.
Poznámky: Najnovšie položky sú v zozname histórie umiestnené na konci. Správa histórie vstupného riadka automaticky maže staré duplikáty každého potvrdeného riadka. To znamená, že ak by história obsahovala riadky: x, x, y, y, x, y, z a používateľ by potvrdil riadok x, tak by sa história zmenila na: y, y, y, z, x. Po ďalšom potvrdení y by v histórii zostalo: z, x, y. Najjednoduchší spôsob overenia umožňuje príklad nižšie.
Príklad:
Tento príklad umožňuje overenie informácií uvedených v poznámkach vyššie.
import
knižnica.*;import
static
knižnica.Svet
.*;public
class
OverHistóriuextends
GRobot
{private
final
static
Zoznam
<String
> história =históriaVstupnéhoRiadka
();private
OverHistóriu() {začniVstup
(); neskrývajVstupnýRiadok(); história.pridaj
("x"
); história.pridaj
("x"
); história.pridaj
("y"
); história.pridaj
("y"
); história.pridaj
("x"
); história.pridaj
("y"
); história.pridaj
("z"
); vypíšHistóriu(); }private
void
vypíšHistóriu() {vymažTexty
();vypíš
(história); }@
Overridepublic
void
potvrdenieVstupu
() { vypíšHistóriu(); }public
static
void
main(String
[] args) {aktivujHistóriuVstupnéhoRiadka
();new
OverHistóriu();zbaľ
();vystreď
(); } }
začniVstup()
,
aktívnaHistóriaVstupnéhoRiadka()
,
aktivujHistóriuVstupnéhoRiadka()
,
deaktivujHistóriuVstupnéhoRiadka()
,
uchovávaSaHistóriaVstupnéhoRiadka()
,
uchovajHistóriuVstupnéhoRiadka()
,
neuchovajHistóriuVstupnéhoRiadka()
public static Zoznam<String> historiaVstupnehoRiadka()
Alias pre históriaVstupnéhoRiadka
.
public static boolean aktívnaHistóriaVstupnéhoRiadka()
Zistí, či je automatické uchovávanie potvrdených vstupných riadkov aktívne. Tento stav vypovedá len o tom, či budú potvrdené vstupné riadky uchovávané počas aktuálnej činnosti aplikácie. Na to, aby boli tieto údaje dostupné aj pri ďalšom spustení aplikácie, musí byť aktivované uchovávanie histórie v konfiguračnom súbore a musí byť aktívna aj samotná konfigurácia.
začniVstup()
,
históriaVstupnéhoRiadka()
,
aktivujHistóriuVstupnéhoRiadka()
,
deaktivujHistóriuVstupnéhoRiadka()
,
uchovávaSaHistóriaVstupnéhoRiadka()
,
uchovajHistóriuVstupnéhoRiadka()
,
neuchovajHistóriuVstupnéhoRiadka()
public static boolean aktivnaHistoriaVstupnehoRiadka()
Alias pre aktívnaHistóriaVstupnéhoRiadka
.
public static void aktivujHistóriuVstupnéhoRiadka()
Aktivuje automatické uchovávanie potvrdených vstupných riadkov. Ak je navyše aktivované uchovávanie histórie v konfiguračnom súbore (pričom konfigurácia musí byť tiež aktívna), tak budú uchované potvrdené riadky dostupné aj pri ďalšom spustení aplikácie.
public static void aktivujHistoriuVstupnehoRiadka()
Alias pre aktivujHistóriuVstupnéhoRiadka
.
public static void deaktivujHistóriuVstupnéhoRiadka()
Deaktivuje automatické uchovávanie potvrdených vstupných riadkov počas činnosti aplikácie.
public static void deaktivujHistoriuVstupnehoRiadka()
Alias pre deaktivujHistóriuVstupnéhoRiadka
.
public static boolean uchovávaSaHistóriaVstupnéhoRiadka()
Zistí, či je aktívne automatické uchovanie histórie potvrdených vstupných riadkov do konfiguračného súboru. Na to, aby táto vlastnosť fungovala, musí byť aktívna aj samotná konfigurácia a na to, aby sa história riadkov automaticky plnila, musí byť aktívne automatické uchovávanie histórie počas činnosti aplikácie.
začniVstup()
,
históriaVstupnéhoRiadka()
,
aktívnaHistóriaVstupnéhoRiadka()
,
aktivujHistóriuVstupnéhoRiadka()
,
deaktivujHistóriuVstupnéhoRiadka()
,
uchovajHistóriuVstupnéhoRiadka()
,
neuchovajHistóriuVstupnéhoRiadka()
public static boolean uchovavaSaHistoriaVstupnehoRiadka()
Alias pre uchovávaSaHistóriaVstupnéhoRiadka
.
public static void uchovajHistóriuVstupnéhoRiadka()
Aktivuje automatické uchovávanie potvrdených vstupných riadkov do konfiguračného súboru. Na to, aby táto vlastnosť fungovala, musí byť aktívna aj samotná konfigurácia a na to, aby sa história riadkov automaticky plnila, musí byť aktívne automatické uchovávanie histórie počas činnosti aplikácie.
public static void uchovajHistoriuVstupnehoRiadka()
Alias pre uchovajHistóriuVstupnéhoRiadka
.
public static void neuchovajHistóriuVstupnéhoRiadka()
Deaktivuje automatické uchovávanie histórie vstupných riadkov do konfiguračného súboru.
public static void neuchovajHistoriuVstupnehoRiadka()
Alias pre neuchovajHistóriuVstupnéhoRiadka
.
public static String prevezmiReťazec()
Vráti reťazec zadaný do vstupného riadka po potvrdení klávesom
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()
Alias pre prevezmiReťazec
.
public static String prevezmiZrušenéÚdaje()
Vráti reťazec, ktorý obsahoval vstupný riadok tesne pred zrušením
klávesom Escape
.
String
obsahujúci
text vstupného riadka pred zrušenímprevezmiReťazec()
,
prevezmiCeléČíslo()
,
prevezmiReálneČíslo()
,
začniVstup()
,
vstupnýRiadokZobrazený()
,
vstupnýRiadok()
public static String prevezmiZruseneUdaje()
Alias pre prevezmiZrušenéÚdaje
.
public static Long prevezmiCeléČíslo()
Vráti celé číslo zadané do vstupného riadka po potvrdení
klávesom Enter
. Metóda vráti hodnotu 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()
,
formát
public static Long prevezmiCeleCislo()
Alias pre prevezmiCeléČíslo
.
public static Double prevezmiReálneČíslo()
Vráti reálne číslo zadané do vstupného riadka po potvrdení
klávesom Enter
. Metóda vráti hodnotu 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()
,
formát
public static Double prevezmiRealneCislo()
Alias pre prevezmiReálneČíslo
.
public static Long reťazecNaCeléČíslo(String reťazec)
Pokúsi sa previesť zadaný reťazec na celé číslo. V prípade
chyby pri prevode vráti metóda hodnotu null
.
reťazec
– reťazec s údajom na prevedenieLong
obsahujúci prevedené celé číslo,
alebo null
v prípade chybyreťazecNaReálneČíslo(String)
,
formát
public static Long retazecNaCeleCislo(String reťazec)
Alias pre reťazecNaCeléČíslo
.
public static Double reťazecNaReálneČíslo(String reťazec)
Pokúsi sa previesť zadaný reťazec na reálne číslo. V prípade
chyby pri prevode vráti metóda hodnotu null
.
reťazec
– reťazec s údajom na prevedenieDouble
obsahujúci
prevedené reálne číslo alebo null
v prípade chybyreťazecNaCeléČíslo(String)
,
formát
public static Double retazecNaRealneCislo(String reťazec)
Alias pre reťazecNaReálneČíslo
.
public static String celéNaRímske(long celé)
Prevedie zadané celé číslo na reťazec s rímskou reprezentáciou
celých čísiel. Metóda umožňuje vykonať reverzný proces k metóde
rímskeNaCelé
, pričom výsledok nijako
neoptimalizuje (v zmysle, že jej cieľom nie je dosiahnuť čo
najkratšiu reprezentáciu celočíselnej hodnoty). Naopak, prevod je
značne priamočiary s použitím vnútornej zotriedenej tabuľky
obsahujúcej predpísané hodnoty použité pri prevode ako napríklad:
M (1000), CM (900), D (500), CD (400) atď. Použité sú len veľké
písmená.
Nulu reprezentuje predvolene písmeno N, skoršie to bolo písmeno
O. Tento reťazec sa dá konfigurovať metódou rímskaNula
. Viac o rímskej nule je napísané
v opisoch metód rímskeNaCelé
a rímskaNula
.
Záporné hodnoty sú vyjadrené uvedením Unicode znaku mínus (−)
na začiatku prevedeného reťazca. Hodnoty vyššie od tisíc
(písmeno M) sú reprezentované s použitím Unicode kombinačných
znakov, ktoré však 2D stroj Javy nevie korektne zobraziť –
viac o tomto probléme je napísané v opise metódy rímskeNaCelé
.
celé
– celé číslo určené na prevodrímskeNaCelé(String)
public static String celeNaRimske(long celé)
Alias pre celéNaRímske
.
public static String rímskaNula()
Vráti aktuálny reťazec nuly používaný pri prevode z celých čísiel na rímske.
Rimania nulu nepoužívali, ale neskôr sa začali vyskytovať zápisy
nuly, napríklad slovom nulla, prípadne nihil,
alebo písmenom N. Pri prevode z rímskych čísel sú rozpoznávané štyri znaky ako nula: N, n,
O a o. Je to z dôvodu spätnej kompatibility. Táto vlastnosť
(a metóda) sa vzťahuje na reťazec, ktorý je použitý pri prevode
nuly metódou celéNaRímske
.
Ďalšie zdroje:
Viljanen, Susanna. (2021). Answer to What’s zero in the Roman numerical system? From: Quora. Dostupné z: ⟨https://qr.ae/pymPgP⟩. Naposledy pristúpené: 15. 8. 2023.
Why Roman numerals don’t have the number zero? From: Expert Maths Tutoring in the UK – Boost Your Scores with Cuemath. Dostupné z: ⟨https://www.cuemath.com/questions/why-roman-numerals-dont-have-number-zero/⟩. Naposledy pristúpené: 15. 8. 2023.
Zero in Roman numerals. (2023). In Wikipedia. Dostupné z: ⟨https://en.wikipedia.org/wiki/Roman_numerals#Zero⟩. Naposledy pristúpené: 15. 8. 2023.
rímskaNula(String)
,
celéNaRímske(long)
,
rímskeNaCelé(String)
public static String rimskaNula()
Alias pre rímskaNula
.
public static void rímskaNula(String rímskaNula)
Nastaví hodnotu reťazca nuly používaného pri prevode z celých čísiel na rímske.
Rimania nulu nepoužívali, ale neskôr sa začali vyskytovať zápisy
nuly, napríklad slovom nulla, prípadne nihil,
alebo písmenom N. Pri prevode z rímskych čísel sú rozpoznávané štyri znaky ako nula: N, n,
O a o. Je to z dôvodu spätnej kompatibility. Táto vlastnosť
(a metóda) sa vzťahuje na reťazec, ktorý je použitý pri prevode
nuly metódou celéNaRímske
.
Ďalšie zdroje:
Viljanen, Susanna. (2021). Answer to What’s zero in the Roman numerical system? From: Quora. Dostupné z: ⟨https://qr.ae/pymPgP⟩. Naposledy pristúpené: 15. 8. 2023.
Why Roman numerals don’t have the number zero? From: Expert Maths Tutoring in the UK – Boost Your Scores with Cuemath. Dostupné z: ⟨https://www.cuemath.com/questions/why-roman-numerals-dont-have-number-zero/⟩. Naposledy pristúpené: 15. 8. 2023.
Zero in Roman numerals. (2023). In Wikipedia. Dostupné z: ⟨https://en.wikipedia.org/wiki/Roman_numerals#Zero⟩. Naposledy pristúpené: 15. 8. 2023.
rímskaNula
– nový reťazec, ktorý bude reprezentovať nulu pri
prevode z celých čísiel na
rímske.rímskaNula()
,
celéNaRímske(long)
,
rímskeNaCelé(String)
public static void rimskaNula(String rímskaNula)
Alias pre rímskaNula
.
public static Long rímskeNaCelé(String rímske)
Prevedie zadaný reťazec obsahujúci číslo reprezentované v rímskej číselnej sústave na celé číslo.
Metóda je značne liberálna. Znak mínus na začiatku reťazca spôsobí, že analyzované číslo bude prevedené na záporné, písmená O a N sú považované za nulu (malé aj veľké)[1] a metóda rozpoznáva aj dva Unicode modifikátory, ktoré násobia hodnotu rímskeho znaku tisícom alebo miliónom. Ide o kombinačné znaky jednoduchej a dvojitej čiary nad predchádzajúcim znakom: ̅, ̿. Jednoduchá čiara násobí hodnotu predchádzajúceho písmena tisícom a dvojitá miliónom. Nevýhodou týchto špeciálnych znakov je to, že vnútorná konzola plátien a pečiatkové texty programovacieho rámca ich nevedia korektne zobraziť z dôvodu predvoleného spôsobu vykresľovania textov 2D strojom jazyka Java a tiež to, že v niektorých softvéroch sú tieto znaky zobrazované nad nasledujúcim znakom namiesto predchádzajúceho. Ak sú však v zadanom reťazci prítomné, tak ich táto metóda berie do úvahy a priraďuje ich vždy k predchádzajúcemu symbolu.
[1] – Do 14. 8. 2023 to bolo len písmeno O, ale autor rámca zistil, že Rimania v skutočnosti nulu nepoužívali vôbec a neskôr sa používalo písmeno N, čo mohlo znamenať nulla (nula) alebo nihil (nič). Z dôvodu spätnej kompatibility (a tiež z dôvodu jeho výskytu v niektorých menej informovaných zdrojoch) bolo ponechané aj písmeno O.
Platné rímske číslice sú malé alebo veľké písmená: I (1), V (5), X (10), L (50), C (100), D (500) a M (1000). Ak je séria znakov s nižšou hodnotou uvedená pred znakom s vyššou hodnotou, tak je súčet hodnôt znakov s nižšou hodnotou od výsledku odrátaný a hodnota znaku s vyššou je okamžite spracovaná tak, že je k výsledku prirátaná bez ohľadu na to, či za ňou nasledujú ďalšie znaky s rovnakou hodnotou alebo znak s ešte vyššou hodnotou. To znamená, že napríklad reťazec IIIVVX má hodnotu 7 (čiže je oddelene spracovaná séria IIIV = 2 a VX = 5), pričom samostatný reťazec VVX má hodnotu 0.
rímske
– rímska reprezentácia celého číslanull
, ak prevod zlyhalceléNaRímske(long)
public static long rimskeNaCele(String reťazec)
Alias pre rímskeNaCelé
.
public static boolean jePrvočíslo(long číslo)
Overí, či zadané číslo je prvočíslo.
Metóda berie do úvahy aj záporné čísla. Tie si vnútorne prevedie na kladné, pretože záporné čísla sú považované za združené (angl. associates) a v tomto zmysle je prvočíslom každé záporné číslo, ktorého kladný „súrodenec“ je prvočíslom [1, 2, 3].
Poznámka: Vnútorný mechanizmus sveta zabezpečuje dynamické vyhľadávanie potrebného množstva (kladných) prvočísiel podľa najvyššieho naposledy overeného čísla. Nájdené prvočísla vnútorne uchováva a používa na overovanie ostatných zadávaných čísiel.
číslo
– celé číslo, ktorého prvočíselnosť
chceme overiťtrue
ak je zadané číslo
prvočíslo; false
v opačnom prípadedajPrvočíslo(int)
,
rozložNaPrvočísla(long)
public static boolean jePrvocislo(long číslo)
Alias pre jePrvočíslo
.
public static long dajPrvočíslo(int n)
Vráti n-té prvočíslo. Metóda vráti kladné alebo záporné
prvočíslo podľa zadaného poradového čísla v rámci parametra
n
. Ak je zadaná nula, metóda vráti nulu, čo je nezmysel,
ale aspoň sa vďaka tomu dá prejsť celá (dostupná) celočíselná os
bez vzniku výnimy.
Príklad:
for
(int
i =1
; i <=10
; ++i)System
.out
.": "
+Svet
.dajPrvočíslo
(i) +"; "
);System
.out
.println
();
Výsledok:
1: 2; 2: 3; 3: 5; 4: 7; 5: 11; 6: 13; 7: 17; 8: 19; 9: 23; 10: 29;
n
– poradové číslo – určuje, ktoré prvočíslo v poradí má byť
vrátenéjePrvočíslo(long)
,
rozložNaPrvočísla(long)
public static long dajPrvocislo(int n)
Alias pre dajPrvočíslo
.
public static long[] rozložNaPrvočísla(long číslo)
Rozloží zadané celé číslo na prvočísla, ak je to možné. Ak rozklad nie je možný, tak metóda vráti prázdne pole (pole s nulovou dĺžkou). V podstate rozklad nie je možný len pre tie celé čísla, ktoré nie sú prvočíslami: ⟨−1; 1⟩. Ak je zadané číslo záporné, tak metóda vráti rovnaký rozklad ako pre kladné združené číslo, len prvý prvok prevedie na zápornú hodnotu.
číslo
– celé číslo, ktoré chceme rozložiť na prvočíslajePrvočíslo(long)
,
dajPrvočíslo(int)
public static long[] rozlozNaPrvocisla(long číslo)
Alias pre rozložNaPrvočísla
.
public static long číselnýKoreň(long číslo)
Vypočíta číselný koreň (digital root; alebo opakovaný digitálny súčet) absolútnej hodnoty zadaného čísla v desiatkovej číselnej sústave.
Ćíselný koreň čísla 13 (v desiatkovej číselnej sústave) je 4, lebo 1 + 3 je 4. Číselný koreň čísla 29 je 2, lebo 2 + 9 je 11 a 1 + 1 je 2.
číslo
– číslo, ktorého koreň má byť vypočítanýčíselnýKoreň(long, long)
public static long ciselnyKoren(long číslo)
Alias pre číselnýKoreň
.
public static long číselnýKoreň(long číslo, long základ)
Vypočíta číselný koreň (digital root; alebo opakovaný digitálny súčet) absolútnej hodnoty zadaného čísla podľa zadaného číselného základu.
číslo
– číslo, ktorého koreň má byť vypočítanýzáklad
– číselný základ (číselnej sústavy, v ktorej je číslo
vyjadrené)číselnýKoreň(long)
public static long ciselnyKoren(long číslo, long základ)
Alias pre číselnýKoreň
.
public static double pomerHviezdy(int p)
Vypočíta pomer polomerov kružníc, ktoré prechádzajú vnútornými a vonkajšími bodmi pravidelnej polygónovej hviezdy. Hviezda má mať p cípov a polygón má prechádzať každým druhým bodom cípu ležiaceho na vonkajšej kružnici.
(Pozri aj: pomerHviezdy(int p, int q)
)
p
– počet cípov hviezdypublic static double pomerHviezdy(int p, int q)
Vypočíta pomer polomerov kružníc, ktoré prechádzajú vnútornými a vonkajšími bodmi pravidelnej polygónovej hviezdy. Hviezda má mať p cípov a polygón má prechádzať každým q-tym bodom cípu ležiaceho na vonkajšej kružnici. q sa nazýva aj hustota.
(Pomery s hustotou 2 sú ukladané do vyrovnávacej pamäte na opakované použitie. Pomery iných hustôt treba uchovávať externe.)
Zdroje:
Weisstein, Eric W. Star Polygon. From MathWorld – A Wolfram Web Resource. https://mathworld.wolfram.com/StarPolygon.
Wikipedia contributors. (2024, January 3). Star polygon. In Wikipedia, The Free Encyclopedia. Retrieved 11:45, February 29, 2024, from https://en.wikipedia.org/w/index.php?title=Star_polygon&oldid=1193397803.
p
– počet cípov hviezdyq
– hustota (o koľko bodov neskôr leží ďalší bod úsečky
tvoriacej časti hrán hviezdy)public static boolean aktivujŠtandardnýVstup()
Táto metóda vykoná jednorazovú akciu aktivovania štandardného
vstupu s predvoleným kódovaním UTF-8. Jej volanie má zmysel len
v prípade, že vstup ešte nebol úspešne aktivovaný. (Vstup nesmie
byť aktívny, ani ukončený.) Skrytá inštancia prijímajúca údaje
zo vstupu funguje asynchrónne v samostatnom vlákne. Pri prijatí
údajov volá reakciu spracujRiadokVstupu
a z toho vyplýva, že v čase aktivovania štandardného vstupu by
mala byť aktívna obsluha udalostí,
inak môže nastať strata prijatých údajov, najmä ak je štandardný
vstup pripojený k externému prúdu vstupných údajov (napríklad
z iného procesu alebo zo súboru). V prípade konečného vstupného
prúdu je po dosiahnutí jeho konca spustená reakcia koniecVstupu
. Overiť to, či je
štandardný vstup (stále) aktívny sa dá pomocou metódy štandardnýVstupAktívny
. Určiť iné
kódovanie údajov zo štandardného vstupu sa dá volaním inej
verzie tejto metódy: aktivujŠtandardnýVstup(kódovanie)
.
Príklad:
import
knižnica.*;public
class
ŠtandardnýVstupNaVnútornúKonzoluextends
GRobot
{private
ŠtandardnýVstupNaVnútornúKonzolu() {Svet
.aktivujŠtandardnýVstup
(); }@
Overridepublic
void
spracujRiadokVstupu
(String
riadokVstupu) {Svet
.farbaTextu
(tmavohnedá
);Svet
.vypíšRiadok
(riadokVstupu); }@
Overridepublic
void
koniecVstupu
() {Svet
.farbaTextu
(oranžová
);Svet
.vypíšRiadok
("koniec"
); }public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
("ŠtandardnýVstupNaVnútornúKonzolu.cfg"
);new
ŠtandardnýVstupNaVnútornúKonzolu(); } }
Výsledok:
Výsledok.
(Ako vidno, nastavenie správneho kódovania môže byť problém –
nepodarilo sa to ani po viacerých pokusoch…)
true
aktivujŠtandardnýVstup(String)
,
štandardnýVstupAktívny()
,
čakajNaVstup()
,
ObsluhaUdalostí.spracujRiadokVstupu(String)
,
ObsluhaUdalostí.koniecVstupu()
public static boolean aktivujStandardnyVstup()
Alias pre aktivujŠtandardnýVstup
.
public static boolean aktivujŠtandardnýVstup(String kódovanie)
Táto metóda vykoná jednorazovú akciu aktivovania štandardného
vstupu so zadaným kódovaním. Platia pre ňu rovnaké pravidlá ako
pre jej verziu bez parametra: aktivujŠtandardnýVstup
()
.
kódovanie
– kódovanie, ktoré má byť použité na dekódovanie
údajov prijímaných zo štandardného vstuputrue
aktivujŠtandardnýVstup()
,
štandardnýVstupAktívny()
,
čakajNaVstup()
,
ObsluhaUdalostí.spracujRiadokVstupu(String)
,
ObsluhaUdalostí.koniecVstupu()
public static boolean aktivujStandardnyVstup(String kódovanie)
Alias pre aktivujŠtandardnýVstup
.
public static boolean štandardnýVstupAktívny()
Overí, či je štandardný vstup, ktorý bol aktivovaný metódou
aktivujŠtandardnýVstup
(alebo
niektorou jej verziou) stále aktívny.
true
aktivujŠtandardnýVstup()
,
aktivujŠtandardnýVstup(String)
,
čakajNaVstup()
public static boolean standardnyVstupAktivny()
Alias pre štandardnýVstupAktívny
.
public static String čakajNaVstup()
Táto metóda implementuje mechanizmus blokovania pri čakaní
údajov zo štandardného vstupu (v samostatnom vlákne). Ak nie je
vstup aktívny, tak ho
aktivuje (s použitím
predvoleného kódovania UTF-8). Ak už nie je možné prijať žiadne
ďalšie údaje (vstupný prúd bol konečný a už sa skončil – napríklad
keď prichádzal cez rúru (pipe) operačného systému), tak táto
metóda bez ďalšieho čakania vráti hodnotu null
.
Príklad:
System
.out
."Zadaj svoje meno: "
);String
meno =Svet
.čakajNaVstup
();System
.out
.println
("Ahoj, "
+ meno +"!"
);
Výsledok:
Zadaj svoje meno: Adam Ahoj, Adam!
Príklad:
import
knižnica.*;public
class
ČakanieNaVstupextends
GRobot
{public
static
void
main(String
[] args) {// Dôležitá poznámka:
// ------------------
//
// Tento komentár obsahuje Java kód ukazujúci štandardný postup pri
// čítaní údajov zo štandardného vstupu bez použitia programovacieho
// rámca GRobot:
//
// try (java.io.BufferedReader čítač = new java.io.BufferedReader(
// new java.io.InputStreamReader(System.in)))
// {
// String riadokVstupu = čítač.readLine();
// System.out.println("Riadok vstupu: " + riadokVstupu);
// }
// catch (java.io.IOException e)
// {
// e.printStackTrace();
// }
// System.out.println("Vstupný prúd bol automaticky zavretý.");
//
// Tento spôsob nie je kompatibilný so spôsobom čítania vstupu
// programovacím rámcom GRobot. Ak by sme sa pokúsili použiť oboje,
// vznikla by výnimka.
//
// Nasleduje príklad použitia čítania štandardného vstupu
// s použitím programovacieho rámca GRobot…
// Počet určíme pomocou reťazca zadaného do prvého argumentu
// aplikácie, pričom najmenší povolený počet je 1.
int
počet =1
;if
(args.length >0
) {Long
číslo =Svet
.reťazecNaCeléČíslo
(args[0
]);if
(null
!= číslo) počet = číslo.intValue
(); }if
(počet <=0
) počet =1
;System
.out
.println
("(Počet reťazcov: "
+ počet +")"
);// Prečítame zo štandardného vstupu určený počet reťazcov.
for
(int
i =1
; i <= počet; ++i) {System
.out
."Zadaj reťazec "
+ i +": "
);String
vstup =Svet
.čakajNaVstup
();System
.out
.println
("> "
+ vstup); }// Aplikáciu musíme „násilne“ uzavrieť, pretože z dôvodu prítomnosti
// automaticky vytváraných objektov programovacieho rámca v pamäti,
// by sa nebola schopná ukončiť spontánne. Fungovala by naďalej
// na pozadí.
Svet
.koniec
(0
); } }
Výsledok:
Ak neprijímame vstup zo systémovej rúry (pipe), aplikácia prečíta len jeden riadok:
(Počet reťazcov: 1) Zadaj reťazec 1: «niečo, čo som zadal a potvrdil na vstupe» > «niečo, čo som zadal a potvrdil na vstupe»
Ukážka čítania vstupu
v režime príkazového riadka operačného systému Windows.
null
aktivujŠtandardnýVstup()
,
aktivujŠtandardnýVstup(String)
,
štandardnýVstupAktívny()
,
čakaj(double)
,
čakajNaKláves()
,
čakajNaKlik()
,
čakajNaKlikAleboKláves()
public static String cakajNaVstup()
Alias pre čakajNaVstup
.
public static KeyEvent čakajNaKláves()
Slúži na pozastavenie (blokovanie) programu s cieľom čakania
na stlačenie klávesu. Ide o čakanie na zadanie znaku (z toho
vyplýva, že napríklad funkčné klávesy nie sú brané do úvahy).
Znak je týmto procesom skonzumovaný (a vrátený v návratovej
hodnote tejto metódy). To znamená, že prislúchajúce reakcie
zadanieZnaku
nie sú
spustené. Na to, aby bola táto metóda použiteľná, musí byť
Svet
inicializovaný, inak metóda vráti hodnotu
null
.
Tip: Návratovou hodnotou je udalosť KeyEvent
. Použite jej metódu getKeyChar
na získanie stlačeného znaku.
Pozor! Použitie tejto metódy (a jej príbuzných) je kritické! Metóda slúži výhradne na pozastavenie činnosti veľmi jednoduchého (synchrónne vykonávaného) programu, ktorého činnosť je prakticky úplne dokončená v rámci konštruktora hlavnej triedy (t. j. v rámci inicializácie aplikácie). Metóda síce môže slúžiť na pozastavenie inicializácie akejkoľvek aplikácie, ale môže byť použitá výhradne týmto spôsobom! (To jest, počas inicializácie.) Dôvodom je, že metóda musí byť spustená len v hlavnom vlákne aplikácie a nejestvuje prakticky žiadny iný spôsob, ktorým sa toto dá zaručiť, len ten, že metóda bude vykonaná počas inicializácie. Všetky ďalšie aktivity aplikácie sú už totiž realizované prostredníctvom vlákna slúžiaceho na obsluhu udalostí, ktoré vykonanie tejto metódy (a jej príbuzných) zablokuje!
null
čakaj(double)
,
čakajNaVstup()
,
čakajNaKlik()
,
čakajNaKlikAleboKláves()
public static KeyEvent cakajNaKlaves()
Alias pre čakajNaKláves
.
public static MouseEvent čakajNaKlik()
Slúži na pozastavenie (blokovanie) programu s cieľom čakania
na kliknutie ľubovoľným tlačidlom myši. Udalosť je týmto procesom
skonzumovaná (a vrátená v návratovej hodnote tejto metódy). To
znamená, že prislúchajúce reakcie klik
nie sú spustené. Na to, aby bola táto
metóda použiteľná, musí byť Svet
inicializovaný, inak
metóda vráti hodnotu null
.
Tip: Návratovou hodnotou je udalosť MouseEvent
. Môžete použiť jej metódy getButton
, getX
,
getY
a podobne na získanie podrobností
o udalosti.
Pozor! Použitie tejto metódy (a jej príbuzných) je kritické! Metóda slúži výhradne na pozastavenie činnosti veľmi jednoduchého (synchrónne vykonávaného) programu, ktorého činnosť je prakticky úplne dokončená v rámci konštruktora hlavnej triedy (t. j. v rámci inicializácie aplikácie). Metóda síce môže slúžiť na pozastavenie inicializácie akejkoľvek aplikácie, ale môže byť použitá výhradne týmto spôsobom! (To jest, počas inicializácie.) Dôvodom je, že metóda musí byť spustená len v hlavnom vlákne aplikácie a nejestvuje prakticky žiadny iný spôsob, ktorým sa toto dá zaručiť, len ten, že metóda bude vykonaná počas inicializácie. Všetky ďalšie aktivity aplikácie sú už totiž realizované prostredníctvom vlákna slúžiaceho na obsluhu udalostí, ktoré vykonanie tejto metódy (a jej príbuzných) zablokuje!
null
čakaj(double)
,
čakajNaVstup()
,
čakajNaKláves()
,
čakajNaKlikAleboKláves()
public static MouseEvent cakajNaKlik()
Alias pre čakajNaKlik
.
public static InputEvent[] čakajNaKlikAleboKláves()
Slúži na pozastavenie (blokovanie) programu s cieľom čakania
na stlačenie ľubovoľného klávesu alebo kliknutie ľubovoľným
tlačidlom myši. Návratovou hodnotou je dvojprvkové pole udalostí
všeobecného typu: InputEvent
. Prvý prvok je
rezervovaný pre udalosť klávesnice (KeyEvent
)
a druhý pre udalosť myši (MouseEvent
). Tá
udalosť, ktorá vznikne skôr, je týmto procesom skonzumovaná
a vrátená v prislúchajúcom prvku návratovej hodnoty tejto metódy.
(To znamená, že prislúchajúce reakcie zadanieZnaku
a klik
nie sú spustené.) Ten prvok
návratovej hodnoty, ktorého udalosť nevznikla, bude nastavený na
hodnotu null
. Na to, aby bola táto metóda použiteľná,
musí byť Svet
inicializovaný, inak bude pole
návratovej hodnoty obsahovať dve hodnoty null
.
Tip: Pozri aj opisy metód čakajNaKláves
a čakajNaKlik
.
Pozor! Použitie tejto metódy (a jej príbuzných) je kritické! Metóda slúži výhradne na pozastavenie činnosti veľmi jednoduchého (synchrónne vykonávaného) programu, ktorého činnosť je prakticky úplne dokončená v rámci konštruktora hlavnej triedy (t. j. v rámci inicializácie aplikácie). Metóda síce môže slúžiť na pozastavenie inicializácie akejkoľvek aplikácie, ale môže byť použitá výhradne týmto spôsobom! (To jest, počas inicializácie.) Dôvodom je, že metóda musí byť spustená len v hlavnom vlákne aplikácie a nejestvuje prakticky žiadny iný spôsob, ktorým sa toto dá zaručiť, len ten, že metóda bude vykonaná počas inicializácie. Všetky ďalšie aktivity aplikácie sú už totiž realizované prostredníctvom vlákna slúžiaceho na obsluhu udalostí, ktoré vykonanie tejto metódy (a jej príbuzných) zablokuje!
Príklad:
Tento príklad ukazuje možné využitie návratovej hodnoty tejto metódy na získanie podrobností o udalosti, ktorá čakanie ukončila. Aplikácia opakuje príkaz čakania (so zisťovaním a vypisovaním detailov o vzniknutej udalosti), dokedy nie je stlačené ľavé tlačidlo myši (na ploche aplikácie).
import
knižnica.GRobot
;import
knižnica.Svet
;import
java.awt.event.InputEvent
;import
java.awt.event.KeyEvent
;import
java.awt.event.MouseEvent
;public
class
TestČakaniaextends
GRobot
{private
KeyEvent
kláves;private
MouseEvent
klik;private
InputEvent
[] udalosti;private
TestČakania() {Svet
.vypíšRiadok
("Stlačte ľubovoľný kláves alebo kliknite "
+"ľubovoľným tlačidlom myši."
);Svet
.vypíšRiadok
("(Kliknutie ľavého tlačidla myši "
+"ukončí aplikáciu.)"
);do
{// Získanie a výpis podrobností o udalosti:
udalosti =Svet
.čakajNaKlikAleboKláves
(); kláves = (KeyEvent
)udalosti[0
]; klik = (MouseEvent
)udalosti[1
];if
(null
!= kláves)Svet
.vypíšRiadok
("ASCII ("
, (int
)kláves.getKeyChar
(),")"
, kláves.getKeyChar
());if
(null
!= klik)Svet
.vypíšRiadok
(klik.getButton
() +": "
+ klik.getX
() +", "
+ klik.getY
()); }while
(null
== klik ||1
!= klik.getButton
()); }public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
("TestČakania.cfg"
);new
TestČakania();Svet
.vypíšRiadok
("Koniec."
);Svet
.čakaj
(1.5
);Svet
.koniec
(); } }
Výsledné výpisy na obrazovke (konzole programovacieho rámca) môžu vyzerať napríklad takto:
Stlačte ľubovoľný kláves alebo kliknite ľubovoľným tlačidlom myši. (Kliknutie ľavého tlačidla myši ukončí aplikáciu.) ASCII (116)t ASCII (101)e ASCII (115)s ASCII (116)t ASCII (10) ASCII (32) ASCII (32) 3: 364, 275 ASCII (32) 2: 332, 104 ASCII (32) 1: 217, 339 Koniec.
InputEvent
; pričom v prvom prvku je
očakávaná udalosť klávesnice KeyEvent
,
ak vznikla, a v druhom udalosť myši MouseEvent
– rovnako, ak vznikla)čakaj(double)
,
čakajNaVstup()
,
čakajNaKláves()
,
čakajNaKlik()
public static InputEvent[] cakajNaKlikAleboKlaves()
Alias pre čakajNaKlikAleboKláves
.
public static InputEvent[] čakajNaKlávesAleboKlik()
Alias pre čakajNaKlikAleboKláves
.
public static InputEvent[] cakajNaKlavesAleboKlik()
Alias pre čakajNaKlikAleboKláves
.
public static void režimLadenia(boolean zapniLadenie)
Zapne alebo vypne režim ladenia programovacieho rámca GRobot.
V režime ladenia sú vypisované rôzne chybové hlásenia na
štandardný chybový výstup (systémový terminál) a informácie
o vykonávaní príkazov interaktívneho režimu alebo skriptu na vnútornú konzolu programovacieho rámca (na strop). Tiež
je pravidelne spúšťaná reakcia obsluhy udalostí ladenie
, ak je
definovaná obsluha udalostí.
Poznámka: Zapnutie výpisu chybových
hlásení na štandardný chybový výstup nemusí byť vždy žiaduce,
preto vznikla ďalšia verzia tejto metódy: režimLadenia
(zapniLadenie,
vypíšChybovéHlásenia)
.
zapniLadenie
– true
alebo false
režimLadenia()
,
lenRežimLadenia()
,
režimLadenia(boolean, boolean)
,
interaktívnyRežim(boolean)
,
vykonajPríkaz(String)
,
vykonajSkript(String[])
,
ObsluhaUdalostí.ladenie(int, String, int)
public static void rezimLadenia(boolean zapniLadenie)
Alias pre režimLadenia
.
public static void režimLadenia(boolean zapniLadenie, boolean vypíšChybovéHlásenia)
Zapne alebo vypne režim ladenia programovacieho rámca GRobot so
spresnením zapnutia alebo vypnutia výpisu chybových hlásení
programovacieho rámca. Vypnutie výpisu chybových hlásení na štandardný
chybový výstup (systémový terminál) nevypne výpis informácií
o vykonávaní príkazov interaktívneho režimu alebo skriptu na vnútornú konzolu programovacieho rámca (na strop). Toto
správanie sa dá ovplyvniť v tele reakcie ladenie
(pozri napríklad
správy ladenia: VYPÍSAŤ_PRÍKAZ
, VYPÍSAŤ_RIADOK
alebo VYPÍSAŤ_MENOVKY
).
zapniLadenie
– true
alebo false
vypíšChybovéHlásenia
– true
alebo false
režimLadenia()
,
lenRežimLadenia()
,
režimLadenia(boolean)
,
výpisChybovýchHlásení()
,
interaktívnyRežim(boolean)
,
vykonajPríkaz(String)
,
vykonajSkript(String[])
,
ObsluhaUdalostí.ladenie(int, String, int)
public static void rezimLadenia(boolean zapniLadenie, boolean vypíšChybovéHlásenia)
Alias pre režimLadenia
.
public static boolean režimLadenia()
Zistí, či je zapnutý režim ladenia programovacieho rámca
GRobot alebo aspoň výpis chybových hlásení programovacieho rámca.
(Stačí, ak je aktívna aspoň jedna z vlastností. Pozri: režimLadenia
. Táto metóda bola
takto navrhnutá z dôvodu kompatibility s jej jednoparametrickou
verziou: režimLadenia(zapniLadenie)
.)
true
alebo false
režimLadenia(boolean)
,
režimLadenia(boolean, boolean)
public static boolean rezimLadenia()
Alias pre režimLadenia
.
public static boolean lenRežimLadenia()
Zistí, či je zapnutý režim ladenia programovacieho rámca
GRobot bez ohľadu na režim výpisu chybových hlásení rámca.
(Pozri: režimLadenia
.)
true
alebo false
režimLadenia()
,
režimLadenia(boolean)
,
režimLadenia(boolean, boolean)
,
výpisChybovýchHlásení()
public static boolean lenRezimLadenia()
Alias pre lenRežimLadenia
.
public static boolean výpisChybovýchHlásení()
Zistí, či je zapnutý výpis chybových hlásení programovacieho
rámca. (Pozri: režimLadenia
.)
true
alebo false
režimLadenia()
,
lenRežimLadenia()
,
režimLadenia(boolean)
,
režimLadenia(boolean, boolean)
public static boolean vypisChybovychHlaseni()
Alias pre výpisChybovýchHlásení
.
public static boolean premennáJestvuje(String názov, Class<?> typ)
Zistí, či premenná interaktívneho režimu so zadaným názvom a typom jestvuje (je definovaná).
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
PremennéSkriptu#jestvuje(String, Trieda)
public static boolean premennaJestvuje(String názov, Class<?> typ)
Alias pre premennáJestvuje
.
public static boolean premennáExistuje(String názov, Class<?> typ)
Alias pre premennáJestvuje
.
public static boolean premennaExistuje(String názov, Class<?> typ)
Alias pre premennáJestvuje
.
public static Object čítajPremennú(String názov, Class<?> typ)
Zistí hodnotu premennej zadaného údajového typu interaktívneho režimu. (Ak hodnota jestvuje.)
názov
– názov premennejtyp
– typ premennej – povolené sú: Double.class
,
Color.class
, Poloha.class
alebo
String.class
null
PremennéSkriptu#čítaj(String, Trieda)
public static Object citajPremennu(String názov, Class<?> typ)
Alias pre čítajPremennú
.
public static boolean zapíšPremennú(String názov, Object hodnota)
Nastaví novú hodnotu premennej
interaktívneho režimu.
Ak je zadaná hodnota nepovoleného údajového typu, tak nebude
nastavená hodnota žiadnej premennej. To isté platí pri pokuse
o zapísanie hodnoty null
. Úspešnosť (resp. neúspešnosť)
nastavenia hodnoty premennej potvrdzuje návratová hodnota tejto
metódy – true
(úspech) / false
(neúspech).
Poznámka: Táto metóda automaticky definuje nejestvujúce premenné.
názov
– názov premennejhodnota
– hodnota premennej povoleného údajového typu –
povolené sú: Double
,
Color
, Poloha
alebo
String
true
, tak bola zadaná
hodnota zapísaná do premennej prislúchajúceho údajového typuPremennéSkriptu#zapíš(String, Object)
public static boolean zapisPremennu(String názov, Object hodnota)
Alias pre zapíšPremennú
.
public static void vymažPremennú(String názov, Class<?> typ)
Vymaže definíciu premennej zadaného údajového typu interaktívneho režimu. (Ak jestvuje.)
názov
– názov premennejtyp
– typ premennej – povolené sú: Double.class
,
Color.class
, Poloha.class
alebo
String.class
PremennéSkriptu#vymaž(String, Trieda)
public static void vymazPremennu(String názov, Class<?> typ)
Alias pre vymažPremennú
.
public static int vykonajSkript(String[] riadky)
Vykoná skript uložený v poli reťazcov. Pozri triedu Skript
.
Poznámka: Informácie o pravidlách
vykonávania boli presunuté do opisu triedy Skript
.
riadky
– pole reťazcov reprezentujúcich riadky skriptuGRobotException
– ak bolo vykonávanie niektorého príkazu
skriptu zrušenéIllegalAccessException
– ak metóda, s ktorou súviselo
vykonávanie niektorého príkazu skriptu nie je dostupná
(verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súviselo vykonávanie niektorého z príkazov
skriptu nebol požadovaného typu, ani ho na taký typ nebolo
možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súviselo vykonávanie niektorého z príkazov skriptu
vznikla výnimkainteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String)
,
vykonajSkript(List)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(List)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public static int vykonajSkript(String skript)
Vykoná skript zadaný vo forme reťazca. Riadky musia byť
oddelené znakom nového reťazca \n
.
Pravidlá vykonávania sú rovnaké ako pri metóde
vykonajSkript(riadky)
.
skript
– skript uložený v jednom reťazciGRobotException
– ak bolo vykonávanie niektorého príkazu
skriptu zrušenéIllegalAccessException
– ak metóda, s ktorou súviselo
vykonávanie niektorého príkazu skriptu nie je dostupná
(verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súviselo vykonávanie niektorého z príkazov
skriptu nebol požadovaného typu, ani ho na taký typ nebolo
možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súviselo vykonávanie niektorého z príkazov skriptu
vznikla výnimkainteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(List)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(List)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public static int vykonajSkript(List<String> skript)
Vykoná skript zadaný vo forme parametrického zoznamu. Metóda
vytvorí zo zoznamu kópiu do poľa reťazcov, aby nenastal konflikt
pri prípadnej paralelnej úprave zoznamu, čiže ak sa zoznam počas
vykonávania skriptu zmení, vykonávanie tým nebude ovplyvnené,
pretože sa v skutočnosti vykonáva kópia skriptu vytvorená v čase
volania tejto metódy. Z toho vyplýva, že pravidlá vykonávania sú
rovnaké ako pri metóde vykonajSkript(riadky)
.
skript
– skript uložený v parametrickom zoznameGRobotException
– ak bolo vykonávanie niektorého príkazu
skriptu zrušenéIllegalAccessException
– ak metóda, s ktorou súviselo
vykonávanie niektorého príkazu skriptu nie je dostupná
(verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súviselo vykonávanie niektorého z príkazov
skriptu nebol požadovaného typu, ani ho na taký typ nebolo
možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súviselo vykonávanie niektorého z príkazov skriptu
vznikla výnimkainteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(List)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public 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ť prečítaný. Ak je druhý parameter rovný
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 prečítaný
a vykonaný. Pravidlá vykonávania sú v oboch prípadoch rovnaké
ako pri metóde vykonajSkript(riadky)
.
Príklad skriptu uloženého v súbore:
Poznámka: Skript musí byť uložený s kódovaním UTF-8.
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!
Program:
Ak predchádzajúci skript uložíme do súboru s názvom „Skript.GRScript,“ tak na jeho spustenie môžeme použiť nasledujúci úryvok kódu:
interaktívnyRežim
(true
);Svet
.interaktívnyRežim
(true
);int
kód =Svet
.vykonajSkript
("Skript.GRScript"
,true
);if
(0
> kód)Svet
.vypíšRiadok
("Chyba pri čítaní súboru ("
, kód,")."
);else
if
(0
< kód)Svet
.vypíšRiadok
("Chyba na riadku: "
, kód);
Výsledok:
Výsledok vykonania skriptu
vyššie uvedeným programom.
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)
)GRobotException
– ak skript so zadaným menom nebol nájdený
alebo ak bolo vykonávanie niektorého príkazu skriptu zrušenéIllegalAccessException
– ak metóda, s ktorou súviselo
vykonávanie niektorého príkazu skriptu nie je dostupná
(verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súviselo vykonávanie niektorého z príkazov
skriptu nebol požadovaného typu, ani ho na taký typ nebolo
možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súviselo vykonávanie niektorého z príkazov skriptu
vznikla výnimkainteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(List)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(List)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public static Skript nahrajSkript(String názov, String súbor)
Nahrá skript zo súboru a uloží ho do vnútornej pamäte pod
zadaným názvom. Ak počas nahrávania skriptu vznikne chyba, tak
metóda vráti hodnotu null
, v opačnom prípade vráti
inštanciu triedy Skript
na prípadné ďalšie
spracovanie.
názov
– názov skriptu, pod ktorým bude tento skript (v prípade
úspešného nahratia) evidovaný vo vnútornom zozname skriptovsúbor
– súbor, z ktorého bude skript nahranýSkript
na ďalšie
spracovanie, prípadne null
nahrajSkript(String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(String)
,
vyrobSkript(List)
,
vyrobSkript(String[])
,
registrujSkript(String, String)
,
registrujSkript(String, List)
,
registrujSkript(String, String[])
,
dajSkript(String)
,
volajSkript(String)
public static Skript nahrajSkript(String súbor)
Toto je klon metódy nahrajSkript(názov, súbor)
, ktorý bol definovaný preto, aby
bolo možné nahrávať zo súborov skripty aj v rámci iných
skriptov. Metóda bude považovať za názov skriptu meno súboru,
to jest časť medzi posledným oddeľovačom cesty (buď \
,
alebo /
) a posledným oddeľovačom prípony
(.
).
súbor
– súbor, z ktorého bude skript nahraný; názov skriptu
je tiež odvodený z tohto reťazcanull
nahrajSkript(String, String)
public static Skript vyrobSkript(String skript, boolean zoSúboru)
Vyrobí skript (zo zadaného textového reťazca alebo zo súboru)
a vráti ho v inštancii triedy Skript
na ďalšie
spracovanie. Ak je parameter zoSúboru
rovný
false
, tak je v parametri skript
očakávaný
text skriptu. Ak je parameter zoSúboru
rovný
true
, tak je v parametri skript
očakávaný
názov súboru, z ktorého má byť skript prečítaný. Ak vznikne počas
čítania alebo spracovania (výroby) skriptu chyba, tak metóda
vráti hodnotu null
.
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 vyrobSkript(skript)
)Skript
alebo null
nahrajSkript(String, String)
,
vyrobSkript(String)
,
vyrobSkript(List)
,
vyrobSkript(String[])
,
registrujSkript(String, String)
,
registrujSkript(String, List)
,
registrujSkript(String, String[])
,
dajSkript(String)
,
volajSkript(String)
public static Skript vyrobSkript(String skript)
Vyrobí zo zadaného textového reťazca skript a vráti ho
v inštancii triedy Skript
na ďalšie spracovanie.
Ak počas výroby skriptu vznikne chyba, tak metóda vráti hodnotu
null
.
skript
– skript v textovom tvare (reťazec obsahujúci celý
skript)Skript
alebo null
nahrajSkript(String, String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(List)
,
vyrobSkript(String[])
,
registrujSkript(String, String)
,
registrujSkript(String, List)
,
registrujSkript(String, String[])
,
dajSkript(String)
,
volajSkript(String)
public static Skript vyrobSkript(List<String> skript)
Vyrobí zo zadaného zoznamu reťazcov reprezentujúcich riadky
skriptu nový skript a vráti ho v inštancii triedy Skript
na ďalšie spracovanie. Ak vznikne počas výroby skriptu
chyba, tak metóda vráti hodnotu null
.
skript
– zoznam s riadkami skriptuSkript
alebo null
nahrajSkript(String, String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(String)
,
vyrobSkript(String[])
,
registrujSkript(String, String)
,
registrujSkript(String, List)
,
registrujSkript(String, String[])
,
dajSkript(String)
,
volajSkript(String)
public static Skript vyrobSkript(String[] skript)
Vyrobí zo zadaného reťazcového poľa, ktorého prvky reprezentujú
riadky skriptu, nový skript a vráti ho na ďalšie spracovanie
v inštancii triedy Skript
. Ak vznikne počas výroby
skriptu chyba, tak metóda vráti hodnotu null
.
skript
– pole reťazcov reprezentujúcich riadky skriptuSkript
alebo null
nahrajSkript(String, String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(String)
,
vyrobSkript(List)
,
registrujSkript(String, String)
,
registrujSkript(String, List)
,
registrujSkript(String, String[])
,
dajSkript(String)
,
volajSkript(String)
public static Skript registrujSkript(String názov, String skript)
Vyrobí zo zadaného reťazca nový skript, registruje ho pod
zadaným názvom a vráti ho na prípadné ďalšie spracovanie.
Metóda funguje podobne ako metóda nahrajSkript
s tým rozdielom, že skript nie je čítaný
zo súboru, ale je prijatý vo forme reťazca.
názov
– názov skriptu, pod ktorým bude tento skript (v prípade
úspešného vyrobenia) evidovaný vo vnútornom zozname skriptovskript
– skript v textovom tvare (reťazec obsahujúci celý
skript)Skript
na ďalšie
spracovanie alebo null
v prípade chybynahrajSkript(String, String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(String)
,
vyrobSkript(List)
,
vyrobSkript(String[])
,
registrujSkript(String, List)
,
registrujSkript(String, String[])
,
dajSkript(String)
,
volajSkript(String)
public static Skript registrujSkript(String názov, List<String> skript)
Vyrobí zo zadaného zoznamu reťazcov nový skript, registruje
ho pod zadaným názvom a vráti ho na prípadné ďalšie spracovanie.
Metóda funguje podobne ako metóda vyrobSkript
(ibaže skript navyše aj registruje vo vnútornej
pamäti).
názov
– názov skriptu, pod ktorým bude tento skript (v prípade
úspešného vyrobenia) evidovaný vo vnútornom zozname skriptovskript
– zoznam s riadkami skriptuSkript
na ďalšie
spracovanie alebo null
v prípade chybynahrajSkript(String, String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(String)
,
vyrobSkript(List)
,
vyrobSkript(String[])
,
registrujSkript(String, String)
,
registrujSkript(String, String[])
,
dajSkript(String)
,
volajSkript(String)
public static Skript registrujSkript(String názov, String[] skript)
Vyrobí zo zadaného reťazcového poľa nový skript, registruje
ho pod zadaným názvom a vráti ho na prípadné ďalšie spracovanie.
Metóda funguje podobne ako metóda vyrobSkript
(ibaže skript navyše aj registruje vo vnútornej
pamäti).
názov
– názov skriptu, pod ktorým bude tento skript (v prípade
úspešného vyrobenia) evidovaný vo vnútornom zozname skriptovskript
– pole reťazcov reprezentujúcich riadky skriptuSkript
na ďalšie
spracovanie alebo null
v prípade chybynahrajSkript(String, String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(String)
,
vyrobSkript(List)
,
vyrobSkript(String[])
,
registrujSkript(String, String)
,
registrujSkript(String, List)
,
dajSkript(String)
,
volajSkript(String)
public static Skript dajSkript(String názov)
Vráti inštanciu skriptu registrovanú vo vnútornej pamäti programovacieho rámca pod zadaným menom.
názov
– názov skriptu vopred registrovaného vo vnútornom
zozname skriptov (napríklad metódou nahrajSkript
)Skript
alebo null
nahrajSkript(String, String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(String)
,
vyrobSkript(List)
,
vyrobSkript(String[])
,
registrujSkript(String, String)
,
registrujSkript(String, List)
,
registrujSkript(String, String[])
,
volajSkript(String)
public static int volajSkript(String názov)
Spustí skript registrovaný vo vnútornej pamäti rámca pod zadaným menom.
Poznámka: Rekurzívne spúšťanie skriptov nie je povolené.
Obmedzenie zákazu rekurzie platí najmä pre túto metódu, ale ak nie je hĺbka rekurzie príliš veľká, dá sa obísť metódami, ktoré každým volaním čítajú a vytvárajú nové inštancie skriptov (čo je pamäťovo náročné, práve preto nesmie byť hĺbka rekurzie príliš veľká). Ukazuje to nasledujúci príklad (nižšie; uložený v dvoch skriptoch), ktorý na svoje fungovanie potrebuje tento spúšťač skriptov:
import
knižnica.*;import
knižnica.podpora.ExpressionProcessor;public
class
SpustiSkriptextends
GRobot
{// Špeciálny príkaz (dostupný v skripte ako: list "name) slúžiaci na
// deklaráciu premennej typu pole alebo vymazanie obsahu poľa. (Polia
// sú súčasťou triedy ExpressionProcessor a sú dynamické.)
public
static
void
list(String
name) { ExpressionProcessor.globalVariables.getOrCreate(name).clear(); }// Špeciálny príkaz (dostupný v skripte ako: size "name) slúžiaci na
// overenie aktuálnej veľkosti poľa.
public
static
double
size(String name) { ExpressionProcessor.Variable list = ExpressionProcessor.globalVariables.get(name);if
(null
== list)return
-2
;return
list.size(); }private
SpustiSkript(String
[] args) {// V skripte (nižšie) sú interaktívne inštancie vždy explicitne určené
// pomocou riadkov začínajúcich sa zavináčom. Keby to tak nebolo,
// museli by byť interaktívne inštancie zapnuté týmito príkazmi:
//
// interaktívnyRežim(true);
// Svet.interaktívnyRežim(true);
// Spúšťanie skriptov zo súborov, ktorých názvy boli zadané ako
// argumenty príkazového riadka procesu (príkazového riadka OS) a čo
// najpresnejší výpis výsledku (najmä v súvislosti so zachytením
// chybových stavov, ktoré sú kľúčové pri ladení skriptov; poznámka:
// rekurzívne spustené skripty vracajú svoje chybové stavy priamo do
// skriptov, ktoré ich volajú, preto nie je možné chyby, ktoré v nich
// vzniknú vypísať tu, ale iba v rámci volajúceho skriptu, na čo
// reflektuje skript stromB.GRScript).
for
(String
arg : args) {if
(!arg.endsWith
(".GRScript"
)) arg +=".GRScript"
;int
kód =Svet
.vykonajSkript
(arg,true
);if
(0
> kód)Svet
.vypíšRiadok
("Chyba pri čítaní súboru „"
, arg,"“ ("
, kód,")."
);else
if
(0
< kód) {Svet
.vypíšRiadok
("Chyba na riadku: "
, kód);Svet
.formulujChybuSkriptu
(kód); }else
Svet
.vypíšRiadok
("Skript „"
, arg,"“ bol vykonaný úspešne."
);if
(!GRobotException
.denník
.prázdny
()) {Svet
.vypíšRiadok
("Správy z denníka chýb:"
);for
(GRobotException
.Chyba
chyba :GRobotException
.denník
) {if
(null
!= chyba.výnimka)Svet
.vypíšRiadok
(chyba.výnimka
);if
(null
!= chyba.správa)Svet
.vypíšRiadok
(chyba.správa
); }GRobotException
.denník
.vymaž
(); } } }public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
("SpustiSkript.cfg"
);new
SpustiSkript(args); } }
Príklad:
Tieto dva skripty (nižšie) vyžadujú na spustenie a správne fungovanie spúšťač uvedený vyššie, ktorý obsahuje definície dvoch nových príkazov list a size (čím je zároveň ukázaná možnosť rozširovania skriptov programovacieho rámca o nové príkazy).
Obsah súboru „PytagorovStrom.GRScript“:
@svet | |
nahraj skript "stromB.GRScript | |
nech dĺžka = 100 | |
nech polovica = 50 | |
nech odvesna = 70.7106781 | |
nech počet = 0 | |
@robot | |
list "dĺžky | |
list "polovice | |
list "odvesny | |
odskoč 125 | |
nekresli | |
nech parameter = 100 | |
volaj skript "stromB | |
kresli |
Obsah súboru „stromB.GRScript“:
@robot | |||
; Počiatočné hodnoty: | |||
; nech dĺžka = 100 | |||
; nech polovica = 50 | |||
; nech odvesna = 70.7106781 | |||
; nech počet = 0 | |||
; nech parameter = 100 | |||
ak #dĺžka >= 20 | |||
#dĺžky[počet] = dĺžka | |||
#polovice[počet] = polovica | |||
#odvesny[počet] = odvesna | |||
nech počet + 1 | |||
nech dĺžka = parameter | |||
nech polovica = #dĺžka * 0.5 | |||
nech odvesna = #dĺžka * 0.707106781 | |||
odskoč #polovica | |||
vpravo 90 | |||
vpred #polovica | |||
vľavo 90 | |||
vpred #dĺžka | |||
skoč #polovica | |||
vpravo 45 | |||
@svet | |||
nech parameter = odvesna | |||
nech kód = vykonaj skript "stromB.GRScript", 1 | |||
ak #0 <> kód | |||
vypíš "Chyba ", kód | |||
nech text = text chyby kód | |||
vypíš riadok ": ", text | |||
vľavo 45 | |||
odskoč #polovica | |||
vľavo 90 | |||
vpred #dĺžka | |||
vpravo 90 | |||
skoč #polovica | |||
vľavo 45 | |||
@svet | |||
nech parameter = odvesna | |||
nech kód = vykonaj skript "stromB.GRScript", 1 | |||
ak #0 <> kód | |||
vypíš "Chyba ", kód | |||
nech text = text chyby kód | |||
vypíš riadok ": ", text | |||
vpravo 45 | |||
odskoč #polovica | |||
vľavo 90 | |||
vľavo 90 | |||
vpred #dĺžka | |||
vľavo 90 | |||
vpred #polovica | |||
vľavo 90 | |||
skoč #polovica | |||
nech počet – 1 | |||
nech dĺžka = #dĺžky[počet] | |||
nech polovica = #polovice[počet] | |||
nech odvesna = #odvesny[počet] |
Po skompilovaní spúšťača a uloženia skriptov na lokalitu, z ktorej budú dostupné pre spúšťač treba zadať názov skriptu ako parameter spúšťača, napríklad takýmto príkazom do príkazového riadka konzoly (napr. príkazového riadka OS):
java -Dfile.encoding=UTF-8 -cp c:\_jEdit\GRobot.jar;.\ SpustiSkript PytagorovStrom.GRScript
Poznámky: Java musí byť dostupná na ceste (PATH) operačného systému. Umiestnenie c:\_jEdit musí obsahovať balíček programovacieho rámca GRobot.jar alebo musí byť táto cesta zmenená na také umiestnenie, ktoré tento balíček obsahuje. Skripty a spúšťač musia byť umiestnené na aktuálnej ceste konzoly OS (tzv. current path).
Výsledok vykonania skriptov.
názov
– názov skriptu vopred registrovaného vo vnútornom
zozname skriptov (napríklad metódou nahrajSkript
)CHYBA_ČÍTANIA_SKRIPTU
(-1
) v prípade, že skript
nebol nájdený, ŽIADNA_CHYBA
v prípade bezchybného vykonania skriptu alebo kladné číslo
vyjadrujúce číslo riadka, na ktorom vznikla chybanahrajSkript(String, String)
,
vyrobSkript(String, boolean)
,
vyrobSkript(String)
,
vyrobSkript(List)
,
vyrobSkript(String[])
,
registrujSkript(String, String)
,
registrujSkript(String, List)
,
registrujSkript(String, String[])
,
dajSkript(String)
public static boolean skriptJeSpustený()
Zistí, či je práve vykonávaný skript, ktorý bol spustený
príkazom spustiSkript
(alebo
niektorou jeho modifikáciou).
true
ak je skript spustenýspustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(List)
,
spustiSkript(String, boolean)
public static boolean skriptJeSpusteny()
Alias pre skriptJeSpustený
.
public 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é. 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“).
Poznámky: Komplexný príklad ladenia
je v sekcii Príklad ladenia skriptov v opise triedy Skript
.
Zabezpečenie spustenia príkazu spustiSkript
je
jednoduché (v spomínanom príklade sa nachádza 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 spomínanom 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.
riadky
– pole reťazcov reprezentujúcich riadky skriptuGRobotException
– ak bolo vykonávanie niektorého príkazu
skriptu zrušenéIllegalAccessException
– ak metóda, s ktorou súviselo
vykonávanie niektorého príkazu skriptu nie je dostupná
(verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súviselo vykonávanie niektorého z príkazov
skriptu nebol požadovaného typu, ani ho na taký typ nebolo
možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súviselo vykonávanie niektorého z príkazov skriptu
vznikla výnimkainteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(List)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String)
,
spustiSkript(List)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public 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é. 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ťazciGRobotException
– ak bolo vykonávanie niektorého príkazu
skriptu zrušenéIllegalAccessException
– ak metóda, s ktorou súviselo
vykonávanie niektorého príkazu skriptu nie je dostupná
(verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súviselo vykonávanie niektorého z príkazov
skriptu nebol požadovaného typu, ani ho na taký typ nebolo
možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súviselo vykonávanie niektorého z príkazov skriptu
vznikla výnimkainteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(List)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(List)
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public static void spustiSkript(List<String> skript)
Funguje podobne ako vykonajSkript(skript)
a principiálne pre neho platia rovnaké
pravidlá ako pre spustiSkript(skript)
. Pozri opisy oboch metód na získanie
úplného prehľadu o fungovaní tejto metódy. V skrátenej forme:
táto metóda vytvorí zo zadaného zoznamu reťazcov kópiu do poľa
reťazcov, ktorú spustí ako skript v samostatnom vlákne. Ďalšie
podrobnosti o činnosti skriptov sú v opisoch dotknutých metód.
skript
– skript uložený v zozname reťazcovGRobotException
– ak bolo vykonávanie niektorého príkazu
skriptu zrušenéIllegalAccessException
– ak metóda, s ktorou súviselo
vykonávanie niektorého príkazu skriptu nie je dostupná
(verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súviselo vykonávanie niektorého z príkazov
skriptu nebol požadovaného typu, ani ho na taký typ nebolo
možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súviselo vykonávanie niektorého z príkazov skriptu
vznikla výnimkainteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(List)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String, boolean)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public 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é. 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 (uloženom s použitím
kódovania UTF-8); ak je false
, tak je prvý
parameter považovaný za skript (rovnako ako pri metóde
spustiSkript(skript)
)GRobotException
– ak skript so zadaným menom nebol nájdený
alebo ak bolo vykonávanie niektorého príkazu skriptu zrušenéIllegalAccessException
– ak metóda, s ktorou súviselo
vykonávanie niektorého príkazu skriptu nie je dostupná
(verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súviselo vykonávanie niektorého z príkazov
skriptu nebol požadovaného typu, ani ho na taký typ nebolo
možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súviselo vykonávanie niektorého z príkazov skriptu
vznikla výnimkainteraktívnyRežim(boolean)
,
režimLadenia(boolean)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(List)
,
vykonajSkript(String, boolean)
,
skriptJeSpustený()
,
spustiSkript(String[])
,
spustiSkript(String)
,
spustiSkript(List)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public static boolean vykonajPríkaz(String príkaz)
Táto metóda má rovnaké jadro ako mechanizmus vykonávania príkazov v interaktívnom režime a umožňuje používať príkazy, ktoré sú dostupné v tomto režime aj za jeho hranicami (t. j. bez nevyhnutnosti jeho aktivácie).
príkaz
– príkazový riadok spĺňajúci pravidlá uvedené
v opise metódy interaktívnyRežim
true
ak bol príkaz nájdený a podarilo
sa ho vykonaťGRobotException
– ak bolo vykonávanie príkazu zrušenéIllegalAccessException
– ak metóda, s ktorou súvisí
vykonávanie príkazu nie je dostupná (verejná)IllegalArgumentException
– ak niektorý z argumentov
metódy, s ktorou súvisí vykonávanie príkazu nie je
požadovaného typu, ani ho na neho nie je možné previesťInvocationTargetException
– ak pri vykonávní metódy,
s ktorou súvisí vykonávanie príkazu vznikla výnimkaGRobot.vykonajPríkaz(String)
,
Plátno.vykonajPríkaz(String)
,
GRobot.interaktívnyRežim(boolean)
,
interaktívnyRežim(boolean)
,
Plátno.interaktívnyRežim(boolean)
,
režimLadenia(boolean)
public static boolean vykonajPrikaz(String príkaz)
Alias pre vykonajPríkaz
.
public static void interaktívnyRežim(boolean zapni)
Zapne alebo vypne interaktívny režim pre inštanciu sveta.
Informácia: Ďalšie podrobnosti súvisiace
s témou vykonávania príkazov interaktívneho režimu a skriptov
sú v opise triedy Skript
.
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)
.
Pôvodný úmysel pri implementácii tohto režimu (pred začatím implementácie skriptov) bolo využitie vo výučbe so zreteľom na to, že vykonávanie príkazov interaktívneho režimu síce nie je z pohľadu spracovania príliš efektívne, ale je názorné a začínajúci študent/programátor môže ľahko a rýchlo vidieť, ktorý zo základných príkazov (robota) má aký efekt (bez nevyhnutnosti častej a opakovanej rekompilácie programu). 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 je zahájené prehľadávanie tried s cieľom nájsť
a vykonať takú metódu, ktorá sa (pri dodržaní určitých pravidiel)
zhoduje so zadaným príkazom. Najprv 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
prislúchajúcich robotov, potom (ak má trieda Svet
zapnutý interaktívny režim) 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 – opäť len
plátna, ktoré majú aktivovaný interaktívny režim. (Schéma
platných príkazov je opísaná 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 rámci 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,
tak 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/sveta/plátien), 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/plátna alebo metódy triedy Math
), ktorá spĺňa
jednu z nasledujúcich podmienok:
double
alebo int
),boolean
),Upozornenia: 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 sa želaný výsledok dá
dosiahnuť viacnásobným zadaním príkazov vypíš a vypíš
riadok.
Okrem toho bolo podobne transformovaných niekoľko ďalších príkazov,
aby lepšie zapadali do fungovania interaktívneho režimu, napríklad:
zadaj číslo, uprav číslo, náhodné číslo, zadaj reťazec…
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ú deklarovaný uvedený počet parametrov.
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ými bodmi.
Variant reťazcového argumentu s jednou úvodzovkou musí byť vždy
uvedený ako posledný (aj keď ide o ekvivalent metódy, ktorá ho má
v skutočnosti na začiatku). V tomto prípade je všetok zvyšný obsah
príkazového riadka (nasledujúci za strojopisnou úvodzovkou
"
) považovaný za obsah reťazca. Ak sa na príkazovom riadku
nachádza viacero úvodzoviek, tak je do úvahy vzatá prvá a posledná,
obsah medzi nimi je považovaný za reťazec a zvyšok riadka je
spracovaný tak, ako keby bol celý reťazec uvedený na konci (t. j.
ako pri variante s jednou úvodzovkou).
Poznámka: Interaktívny režim
(a skriptovanie) programovacieho rámca GRobot využíva mechanizmus
reflexie Javy. Vďaka tomu sa všetky verejné metódy tried
odvodených od triedy GRobot
, ktoré spĺňajú
podmienky uvedené vyššie, automaticky stávajú dostupnými
na použitie v interaktívnom režime aj skriptoch ako platné
príkazy.
Interaktívny režim umožňuje pracovať s vnútornými premennými.
Premenná vzniká pri prvom vložení hodnoty do nej. 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é spolu
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 nulové a jedna v opačnom prípade
atď. Návratová hodnota príkazu (originálnej metódy programovacieho
rámca) musí byť číslo (prípadne logická hodnota), farba, poloha
alebo reťazec. Ak sa pracuje s číslami, tak operátor môže byť
jedným z nasledujúceho zoznamu:
= | – | 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
Takýto spôsob výpočtov je nepraktický – aj pomerne jednoduchý
výpočet by vyžadoval viacero riadkov skriptu, preto bol ku
skriptovaciemu stroju pridružený rozpoznávač jednoduchých
matematických výrazov (s programátorskou syntaxou a s bežne
dostupnými operáciami; angl. expression parser reprezentovaný
pomocnou triedou tohto rámca – ExpressionProcessor
, ktorej zdrojový
kód je tu; môže byť užitočné pozrieť si v ňom napríklad zoznam operátorov a zoznam funkcií). Na jeho aktiváciu
slúži rezervovaný znak mriežky #
. Všetko, čo na príkazovom
riadku nasleduje za znakom mriežky (ak to nebolo súčasťou reťazca)
je poslané do rozpoznávača výrazov a vyhodnotené pred spracovaním
príkazu. Rozpoznávač je prepojený s rámcom a dokáže identifikovať
viaceré metódy s číselnou návratovou hodnotou.
Napríklad:
nech v = #veľkosť * 2.5 + 1
opakuj i 5
nech x = #(i – 3) * veľkosť
Je dovolené pracovať aj s reťazcami a vyhodnocovať výrazy v rámci podmieneného spracovania (aj číselné, nielen reťazcové). Príklad:
nech x = "Reťazec"
ak #x == "Reťazec"
vypíš riadok "áno"
inak
vypíš riadok "nie"
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á.
Príklady príkazov uložených v skripte (pozri príkazy
vykonajSkript(riadky)
,
spustiSkript(riadky)
a im príbuzné; okrem opakovania sú všetky príkazy nasledujúceho
skriptu použiteľné aj v príkazovom riadku interaktívneho
režimu):
nech dĺžka = uprav číslo 100, "Zadaj stranu
nech koľko = uprav číslo 72, "Zadaj počet opakovaní
skoč dĺžka, -50
farba zelená
nech i = koľko
:opakuj1
dopredu dĺžka
vpravo 145
dokedy i, opakuj1
nech dĺžka * 3
nech dĺžka ~
skoč dĺžka, 0
nech dĺžka ~
nech dĺžka / 3
zdvihni pero
začni cestu
nech i = 5
:opakuj2
dopredu dĺžka
vpravo 72
dokedy i, opakuj2
farba žltá
vyplň cestu
farba čierna
hrúbka čiary 3.2
kresli cestu
vypíš dĺžka, "Toto je výsledok kreslenia s dĺžkou
vypíš koľko, " a počtom opakovaní
vypíš riadok ":
nech veľkosť = uprav číslo 30, "Zadaj veľkosť
veľkosť veľkosť
nech text = "Veľkosť:
nech text + veľkosť
domov
dozadu veľkosť
dozadu 10
text text
zobraz
domov
Po potvrdení predvolených údajov (100, 72 a 30) bude výsledok takýto:
Výsledok vykonania skriptu.
Obidva príkazy spomenuté nad príkladom majú svoje varianty dovoľujúce jednoduché spustenie skriptu uloženého v súbore:
vykonajSkript
(názovSúboru,true
);spustiSkript
(názovSúboru,true
);
zapni
– ak je true
, režim bude pre svet
zapnutý, inak bude vypnutýGRobot.interaktívnyRežim(boolean)
,
Plátno.interaktívnyRežim(boolean)
,
GRobot.vykonajPríkaz(String)
,
vykonajPríkaz(String)
,
Plátno.vykonajPríkaz(String)
,
vykonajSkript(String[])
,
vykonajSkript(String)
,
vykonajSkript(List)
,
vykonajSkript(String, boolean)
,
interaktívnaInštancia()
,
zrušInteraktívnuInštanciu()
,
režimLadenia(boolean)
,
ObsluhaUdalostí.ladenie(int, String, int)
,
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public static void interaktivnyRezim(boolean zapni)
Alias pre interaktívnyRežim
.
public static boolean interaktívnyRežim()
Zistí stav interaktívneho režimu pre svet.
Pozri: Svet.interaktívnyRežim(zapni)
.
public static boolean interaktivnyRezim()
Alias pre interaktívnyRežim
.
public static void interaktívnaInštancia(String inštancia)
Nastaví alebo zruší aktívnu inštanciu pre interaktívny režim. Keď je aktívna inštancia, tak príkazy odoslané v príkazovom riadku budú spracované len korektne rozpoznanou inštanciou.
Pozor! Táto inštancia ovplyvňuje len
príkazy zadávané cez príkazový riadok. Neovplyvňuje príkazy
vykonávané ako skript.
Aktívnu inštanciu skriptu
je možné ovplyvňovať len priamo v skripte riadkami so syntaxou:
@
«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)
,
ObsluhaUdalostí.ladenie(int, String, int)
public static void interaktivnaInstancia(String inštancia)
Alias pre interaktívnaInštancia
.
public static String interaktívnaInštancia()
Vráti aktívnu inštanciu interaktívneho režimu alebo
null
.
null
interaktívnaInštancia(String)
public static String interaktivnaInstancia()
Alias pre interaktívnaInštancia
.
public static void zrušInteraktívnuInštanciu()
Zruší interaktívnu inštanciu.
interaktívnaInštancia(String)
public static void zrusInteraktivnuInstanciu()
Alias pre zrušInteraktívnuInštanciu
.
public static int kódPoslednejChyby()
Získa kód poslednej chyby, ktorá nastala počas vykonávania príkazov interaktívneho režimu alebo skriptu. Môže ísť o jeden z nasledujúcich kódov:
ŽIADNA_CHYBA
,CHYBA_VYKONANIA_PRÍKAZU
,CHYBA_DVOJITÁ_MENOVKA
,CHYBA_CHÝBAJÚCA_MENOVKA
,CHYBA_NEZNÁMA_MENOVKA
,CHYBA_NEZNÁME_SLOVO
,CHYBA_CHYBNÁ_ŠTRUKTÚRA
,CHYBA_NEZNÁME_MENO
,CHYBA_NEZNÁMY_PRÍKAZ
,CHYBA_ČÍTANIA_SKRIPTU
.CHYBA_VOLANIA_SKRIPTU
.Poznámka: Tabuľka chýb je v opise
metódy Skript.textChyby
.
riadokPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public static int kodPoslednejChyby()
Alias pre kódPoslednejChyby
.
public static int riadokPoslednejChyby()
Ak posledná chyba vznikla na konkrétnom riadku skriptu, tak táto metóda vráti číslo tohto riadka.
kódPoslednejChyby()
,
textPoslednejChyby()
,
textChyby(int)
public 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.
Poznámka: Tabuľka chýb je v opise
metódy Skript.textChyby
.
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textChyby(int)
public static String textChyby(int kódChyby)
Vráti vysvetľujúci text ku kódu chyby určenej parametrom
kódChyby
. Ide o kódy vnútorne definované a používané
pri hláseniach o nesprávnych stavoch počas vykonávania príkazov
interaktívneho režimu
alebo
skriptu.
kódPoslednejChyby()
,
riadokPoslednejChyby()
,
textPoslednejChyby()
public static Object poslednáNávratováHodnota()
Získa návratovú hodnotu naposledy vykonaného príkazu interaktívneho režimu alebo skriptu.
public static Object poslednaNavratovaHodnota()
Alias pre poslednáNávratováHodnota
.
public static void formulujChybuSkriptu(int kódSkriptu, String titulokChyby, int šírkaRiadka)
Sformuluje znenie chyby skriptu na základe zadaného kódu chyby
a zobrazí dialóg s chybovým hlásením rozdeleným na riadky so
zadaným počtom znakov a zadaným titulkom chybového dialógu.
Kód chyby je návratová hodnota skriptu (pozri Skript
.
vykonaj
()
).
Poznámka: Táto metóda bola pôvodne vytvorená na vnútorné účely – pre skripty tlačidiel a položiek ponuky, ktoré by inak nemali žiadnu možnosť poskytnutia spätnej väzby používateľovi. Tieto skripty stále metódu používajú, ale medzičasom sa metóda stala verejnou a vznikli jej ďalšie verzie.
kódSkriptu
– chybový kód, na základe ktorého metóda
sformuluje a zobrazí chybové hlásenie v dialógovom oknetitulokChyby
– text titulku dialógového okna chybyšírkaRiadka
– počet znakov na jednom riadku chybového
hláseniapublic static void formulujChybuSkriptu(int kódSkriptu, String titulokChyby)
Sformuluje znenie chyby skriptu na základe zadaného kódu chyby
a zobrazí dialóg s chybovým hlásením rozdeleným na riadky so
predvoleným počtom znakov (60
) a zadaným titulkom
chybového dialógu. Kód chyby je návratová hodnota skriptu (pozri
Skript
.
vykonaj
()
).
kódSkriptu
– chybový kód, na základe ktorého metóda
sformuluje a zobrazí chybové hlásenie v dialógovom oknetitulokChyby
– text titulku dialógového okna chybypublic static void formulujChybuSkriptu(int kódSkriptu, int šírkaRiadka)
Sformuluje znenie chyby skriptu na základe zadaného kódu chyby
a zobrazí dialóg s chybovým hlásením rozdeleným na riadky so
zadaným počtom znakov a predvoleným titulkom chybového dialógu
("Chyba skriptu…"
). Kód chyby je návratová hodnota
skriptu (pozri Skript
.
vykonaj
()
).
kódSkriptu
– chybový kód, na základe ktorého metóda
sformuluje a zobrazí chybové hlásenie v dialógovom oknešírkaRiadka
– počet znakov na jednom riadku chybového
hláseniapublic static void formulujChybuSkriptu(int kódSkriptu)
Sformuluje znenie chyby skriptu na základe zadaného kódu chyby
a zobrazí dialóg s chybovým hlásením rozdeleným na riadky so
predvoleným počtom znakov (60
) a predvoleným titulkom
chybového dialógu ("Chyba skriptu…"
).
Kód chyby je návratová hodnota skriptu (pozri Skript
.
vykonaj
()
).
kódSkriptu
– chybový kód, na základe ktorého metóda
sformuluje a zobrazí chybové hlásenie v dialógovom oknepublic static boolean zalamujeTexty()
Zistí stav/hodnotu vlastnosti zalamovania
textov vnútornej konzoly stropu. Má rovnaký efekt ako keby sme
volali metódu
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)
Nastaví vlastnosť zalamovania textov
vnútornej konzoly stropu podľa hodnoty parametra. Má rovnaký efekt
ako keby sme volali metódu 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()
Zapne zalamovanie textov vnútornej konzoly stropu. Má rovnaký efekt
ako keby sme volali metódu strop.zalamujTexty()
.
public static void nezalamujTexty()
Vypne zalamovanie textov vnútornej konzoly stropu. Má rovnaký
efekt ako keby sme volali metódu strop.nezalamujTexty()
.
public static void vypíšAktívneSlovo(String identifikátor, Object... argumenty)
Vypíše sériu argumentov v tvare textu na strope ako aktívne
slová. Má rovnaký efekt ako keby sme volali metódu 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)
Alias pre vypíšAktívneSlovo
.
public static void vypíšAktívneSlová(String identifikátor, Object... argumenty)
Alias pre vypíšAktívneSlovo
.
public static void vypisAktivneSlova(String identifikátor, Object... argumenty)
Alias pre vypíšAktívneSlovo
.
public 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. Funguje rovnako ako keby
sme volali metódu 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)
Alias pre bodVAktívnomSlove
.
public 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
.
poloha
– poloha vyšetrovaného bodu zadaná prostredníctvom
objektu implementujúceho rozhranie Poloha
.null
public static String bodVAktivnomSlove(Poloha poloha)
Alias pre bodVAktívnomSlove
.
public static String myšVAktívnomSlove()
Overí, či sa súradnice kurzora myši nachádzajú v oblasti niektorého
z aktívnych slov. Funguje rovnako ako keby sme volali metódu
strop.myšVAktívnomSlove()
.
null
public static String mysVAktivnomSlove()
Alias pre myšVAktívnomSlove
.
public static void vypíš(Object... argumenty)
Vypíše sériu argumentov v tvare textu na strope. Má rovnaký efekt
ako keby sme volali metódu strop.vypíš(Object...)
– ďalšie podrobnosti sú v jej opise.
argumenty
– zoznam argumentov rôzneho údajového typu
oddelený čiarkamiPlátno.vypíš(Object[])
,
formát
public static void vypíšRiadok(Object... argumenty)
Vypíše sériu argumentov v tvare textu na strope a posunie sa na
ďalší riadok. Má rovnaký efekt ako keby sme volali metódu strop.vypíšRiadok(Object...)
.
argumenty
– zoznam argumentov rôzneho údajového typu
oddelený čiarkamivypíš(Object[])
public static void vypisRiadok(Object... argumenty)
Alias pre vypíšRiadok
.
public 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. Má rovnaký efekt ako keby sme volali metódu 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)
Vypíše sériu argumentov na zadaných súradniciach v tvare textu na
strope a posunie sa na ďalší riadok. Má rovnaký efekt ako keby sme
volali metódu 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)
Alias pre vypíšRiadokNa
.
public 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. Má rovnaký efekt ako keby sme volali metódu 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)
Vypíše sériu argumentov na zadaných súradniciach v tvare textu na
strope a posunie sa na ďalší riadok. Má rovnaký efekt ako keby sme
volali metódu 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)
Alias pre píšRiadokNa
.
public static long náhodnéCeléČíslo()
Generovanie náhodného celého čísla v celom rozsahu
long
. (Pozri: Long
.
MIN_VALUE
a Long
.
MAX_VALUE
.)
Poznámka: Táto metóda používa Mersennov twistr z CERNu (1999). Pozri aj poznámku v hlavnom opise tejto triedy.
public static long nahodneCeleCislo()
Alias pre náhodnéCeléČíslo
.
public static long náhodnéCeléČíslo(long hodnota)
Generovanie náhodného celého čísla v rozsahu od nula (vrátane) po zadanú hodnotu parametra (vrátane).
Poznámka: Táto metóda používa Mersennov twistr z CERNu (1999). Pozri aj poznámku v hlavnom opise tejto triedy.
hodnota
– horná hranica generovania náhodných číselpublic static long nahodneCeleCislo(long hodnota)
Alias pre náhodnéCeléČíslo
.
public static long náhodnéCeléČíslo(long min, long max)
Generovanie náhodného celého čísla v zadanom rozsahu. Rozsah je chápaný ako uzavretý interval – ⟨min; max⟩. Ak je spodná hranica väčšia ako horná, tak sú metódou vnútorne prevrátené.
Poznámka: Táto metóda používa Mersennov twistr z CERNu (1999). Pozri aj poznámku v hlavnom opise tejto triedy.
min
– spodná hranica generovania náhodných čísel (vrátane)max
– horná hranica generovania náhodných čísel (vrátane)public static long nahodneCeleCislo(long min, long max)
Alias pre náhodnéCeléČíslo
.
public static double náhodnéReálneČíslo()
Generovanie náhodného reálneho čísla v rozsahu od nula (vrátane) po jeden (vynímajúc).
Poznámka: Táto metóda používa Mersennov twistr z CERNu (1999). Pozri aj poznámku v hlavnom opise tejto triedy.
public static double nahodneRealneCislo()
Alias pre náhodnéReálneČíslo
.
public static double náhodnéReálneČíslo(double hodnota)
Generovanie náhodného reálneho čísla v rozsahu od nula (vrátane) po zadanú hodnotu parametra (vynímajúc).
Poznámka: Táto metóda používa Mersennov twistr z CERNu (1999). Pozri aj poznámku v hlavnom opise tejto triedy.
hodnota
– horná (nezahrnutá) hranica generovania náhodných
číselpublic static double nahodneRealneCislo(double hodnota)
Alias pre náhodnéReálneČíslo
.
public static double náhodnéReálneČíslo(double min, double max)
Generovanie náhodného reálneho čísla v zadanom rozsahu. Zadaný interval je polovične otvorený – ⟨min; max). Ak je spodná hranica väčšia ako horná, tak sú metódou vnútorne prevrátené.
Poznámka: Táto metóda používa Mersennov twistr z CERNu (1999). Pozri aj poznámku v hlavnom opise tejto triedy.
min
– spodná hranica generovania náhodných čísel (vrátane)max
– horná hranica generovania náhodných čísel (vynímajúc)public static double nahodneRealneCislo(double min, double max)
Alias pre náhodnéReálneČíslo
.
public static double perlin(double x, double y, double z)
Vráti hodnotu 3D Perlinovho šumu z rozsahu ⟨−1; 1⟩ v bode so zadanými súradnicami.
Upozornenie: Generátor funguje korektne najmä v kladnej podmnožine všetkých troch hodnôt súradníc 3D priestoru. Keďže sa však dajú využiť aj hodnoty generované v zápornej (t. j. pre aspoň jednu zo súradníc zápornú) časti 3D priestoru (hoci neštandardným spôsobom a pri troche experimentovania), nebol vstup súradníc nijako ošetrovaný.
Upozornenie: Ak sú vstupom generátora výhradne (tri) celé čísla, výsledkom je nula. Ak chcete získať „pestrý“ rad hodnôt zariaďte, aby vstupom neboli samé celé čísla. Čím „menej celočíselné“ budú vstupy generátora, tým rôznorodejšie výsledky bude poskytovať.
Podrobnosti o Perlinovom šume:
Perlinov šum je druh gradientového generátora šumu, ktorý vyvinul Ken Perlin v rokoch 1982 – 1983. Generátor vznikol dôsledkom autorovej frustrácie z toho, že vtedajšie počítačom generované obrazy (CGI) vyzerali príliš „strojovo.“ Práca bola zároveň dôsledkom autorovej účasti na vývoji efektov v pracovnej skupine MAGI, ktorá pracovala pre Disneyho štúdium v kontexte produkcie sci-fi filmu Tron (1982). V roku 1997 (15 rokov po vydaní filmu Tron) získal Ken Perlin za svoj technický prínos, ktorý vznikol vytvorením tohto algoritmu cenu filmovej akadémie (Academy Awards u nás známej pod ľudovým pomenovaním Oskar).
Dobrý generátor (pseudo)náhodných čísel generuje také hodnoty, ktoré nevykazujú známky rozpoznateľného vzoru (čiže naoko vzájomne nesúvisia). Takáto náhodnosť však nemusí pôsobiť prirodzene, najmä keď potrebujeme generovať prírodne pôsobiaci vzhľad ako sú oblaky, krajinné reliéfy alebo textúry povrchov ako je mramor a podobne. Perlinov generátor dokáže generovať hodnoty ústiace do organickejšieho vzhľadu, pretože generovaná sekvencia pseudonáhodných čísel je „hladšia“ než sekvencie, ktoré generuje „bežný“ generátor.
Algoritmus použitý v tomto rámci generuje hodnoty šumu v trojrozmernom priestore. Perlinov šum však nemusí byť len troj- alebo dvojrozmerný. Vo všeobecnosti môže byť použitý na n rozmerov. Aj keď je programovací rámec zameraný na dvojrozmernú grafiku, bolo výhodnejšie použiť trojrozmerný priestor, aby bol generátor širšie využiteľný, napríklad na mapovanie hodnôt v trojsúradnicovom farebnom priestore RGB.
Táto metóda generuje predvolené hodnoty šumu podľa zadaných
súradníc. Jemnejšie výsledky sa dajú dosiahnuť použitím metódy
perlin(x, y, z,
početOktáv)
(alebo jej klonu), treba však upozorniť na to, že
so zvyšujúcim počtom oktáv sa činnosť generátora výrazne
spomaľuje. Generátor preto nie je vhodný na generovanie textúr
v reálnom čase.
Zdroje:
Príklad:
import
knižnica.*;public
class
PerlinovŠumextends
GRobot
{// Inštancia obrázka, ktorá bude slúžiť na uchovanie aktuálne
// vygenerovanej verzie šumu (pozri súkromnú metódu prekresliŠum nižšie).
private
Obrázok
o =new
Obrázok
(600
,600
);// Parametre generátora (pozri súkromnú metódu prekresliŠum nižšie):
// k – počet (index) generovaných oktáv šumu;
// l – prepínanie štyroch rôznych verzií generovania:
// 1 – použije sa len premenná dr a to ako úroveň šedej;
// 2 – to isté ako 1, ale použije sa premenná dg;
// 3 – to isté ako 1, ale použije sa premenná db;
// … – premenné dr, dg, db budú použité na určenie farebných
// zložiek r, g, b každého bodu generovaného šumu.
private
int
k =0
, l =0
;// Aktuálne posunutie generovaného šumu.
private
double
Δx =0
, Δy =0
;
// Konštruktor.
private
PerlinovŠum() {super
(602
,602
);// (rozmer plátna 602 × 602 bodov)
// Nastavenia sveta:
Svet
.farbaPozadia
(snehová
);Svet
.farbaTextu
(biela
);Svet
.nekresli
();// Nastavenie kreslenia vypĺňaných tvarov na strop žltou farbou
// (to sa použije na kreslenie orientačného prvku znázorňujúceho
// aktuálne posunutie generátora Δx, Δy):
kresliNaStrop
();vypĺňajTvary
();farba
(žltá);// Prekreslenie šumu a zbalenie okna:
prekresliŠum();Svet
.zbaľ
(); }
// Súkromná metóda na prekreslenie generovaného šumu:
private
void
prekresliŠum() {Svet
.vymažTexty
();Svet
.vypíš
(k, l,'['
, Δx,','
, Δy,']'
);// V tomto cykle sa generuje šum vo štvorci 600 × 600 do obrázka
// „o“ (čiže o jeden bod menej z každého okraja plátna) podľa
// parametrov „k“ a „l“ (pozri vyššie).
for
(int
j = -300
; j <=300
; ++j)for
(int
i = -300
; i <=300
; ++i) {// Najprv sa do premenných „a“ a „b“ prepočítajú súradnice
// použité na získanie hodnoty šumu v určitom bode (treba si
// uvedomiť, že každý generátor pseudonáhodných čísiel je
// v skutočnosti funkcia so stálym tvarom – preto „pseudo-“
// náhodné čísla; ibaže to obvykle nevidíme, pretože používame
// premenlivé semienko na „zamiešanie“ generátora; obvykle
// systémový čas).
double
a = (Δx + i +300.0
) /100.0
;double
b = (Δy + j +300.0
) /100.0
;// Potom vygenerujeme tri rôzne hodnoty šumu. Keďže v tomto
// programovacom rámci je použitý trojrozmerný Perlinov šum,
// vygenerujeme každú z troch hodnôt z rôznej plochy 3D priestoru.
// Na zjednodušenie zoberieme kolmé plochy – parametre „a“ a „b“
// jednoducho vložíme vždy do inej kombinácie súradníc „perlina.“
// V našom prípade by sme výsledok generátora museli upravovať
// na polovičný rozsah napríklad takto:
// double dr = (1.0 + Svet.perlin(b, 0, a, 1 + k)) / 2.0;
// double dg = (1.0 + Svet.perlin(0, a, b, 1 + k)) / 2.0;
// double db = (1.0 + Svet.perlin(a, b, 0, 1 + k)) / 2.0;
// Namiesto toho použijeme verziu metódy polPerlina:
double
dr =Svet
.polPerlina
(b,0
, a,1
+ k);double
dg =Svet
.polPerlina
(0
, a, b,1
+ k);double
db =Svet
.polPerlina
(a, b,0
,1
+ k);// *** Kópia informácií o význame atribútov „k“ a „l.“ ***
//
// k – počet (index) generovaných oktáv šumu;
// l – prepínanie štyroch rôznych verzií generovania:
// 1 – použije sa len premenná dr a to ako úroveň šedej;
// 2 – to isté ako 1, ale použije sa premenná dg;
// 3 – to isté ako 1, ale použije sa premenná db;
// … – premenné dr, dg, db budú použité na určenie farebných
// zložiek r, g, b každého bodu generovaného šumu.
//
// *** Kópia informácií o význame atribútov „k“ a „l.“ ***
int
rgb;switch
(l) {case
1
: rgb =0xff000000
| ((int
)(dr *255
) <<16
) | ((int
)(dr *255
) <<8
) | (int
)(dr *255
);break
;case
2
: rgb =0xff000000
| ((int
)(dg *255
) <<16
) | ((int
)(dg *255
) <<8
) | (int
)(dg *255
);break
;case
3
: rgb =0xff000000
| ((int
)(db *255
) <<16
) | ((int
)(db *255
) <<8
) | (int
)(db *255
);break
;default
: rgb =0xff000000
| ((int
)(dr *255
) <<16
) | ((int
)(dg *255
) <<8
) | (int
)(db *255
);break
; } o.prepíšBod
(i, j, rgb); }// Nakoniec nakreslíme orientačný prvok na znázornenie aktuálnej
// polohy posunutia generátora (parametre kreslenia sú nastavené
// v konštruktore):
Svet
.vymažGrafiku
();podlaha
.obrázok
(o);skočNa
(Δx /10
, Δy /10
);krúžok
();Svet
.prekresli
(); }
// Reakcia na kliknutie ľubovoľným tlačidlom myši.
@
Overridepublic
void
klik
() {if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
)) {// Ak bolo kliknuté ľavým, tak upravíme parameter „k“ tak,
// aby sa jeho hodnota pohybovala (cyklicky – po
// každom kliku) v rozmedzí 0 – 6:
++k; k %=7
; }else
{// Ak bolo kliknuté ľubovoľným iným tlačidlom, tak upravíme
// parameter „l“ tak, aby sa jeho hodnota pohybovala
// (cyklicky – po každom kliku) v rozmedzí 0 – 3:
++l; l %=4
; }// Prekreslíme šum:
prekresliŠum(); }
// Počiatočná poloha myši používaná na vypočítanie rozdielu určujúceho
// mieru posunutia generovaného šumu.
private
Bod
poloha1 =null
;// Reakcia na stlačenie ľubovoľného tlačidla myši.
@
Overridepublic
void
stlačenieTlačidlaMyši
() {// Uloženie počiatočnej polohy.
poloha1 =ÚdajeUdalostí
.polohaMyši
(); }// Reakcia na pohyb kurzora myši počas držania
// ľubovoľného tlačidla myši (ťahania).
@
Overridepublic
void
ťahanieMyšou
() {// Ak je počiatočná poloha neprázdna, […]
if
(null
!= poloha1) {// […] tak prevezmeme aktuálnu polohu (pre nás koncovú), […]
Bod
poloha2 =ÚdajeUdalostí
.polohaMyši
();// […] vypočítame z oboch polôh rozdiel,
// o ktorý sa šum posunie, […]
Δx += poloha2.polohaX
() - poloha1.polohaX
(); Δy += poloha2.polohaY
() - poloha1.polohaY
();// […] uložíme aktuálnu polohu ako novú počiatočnú polohu […]
poloha1 = poloha2;// […] a prekreslíme šum.
prekresliŠum(); } }// Reakcia na uvoľnenie ľubovoľného tlačidla myši.
@
Overridepublic
void
uvoľnenieTlačidlaMyši
() {// Vyprázdnenie počiatočnej polohy.
poloha1 =null
; }
// Hlavná metóda.
public
static
void
main(String
[] args) {new
PerlinovŠum(); } }
Výsledok:
|
|
x
– x-ová súradnica priestoru šumuy
– y-ová súradnica priestoru šumuz
– z-ová súradnica priestoru šumuperlin(double, double, double, int)
,
perlin(double, double, double, int, double)
,
polPerlina(double, double, double)
,
polPerlina(double, double, double, int)
,
polPerlina(double, double, double, int, double)
,
opakovaniePerlina()
,
opakovaniePerlina(int)
public static double perlin(double x, double y, double z, int početOktáv)
Vráti hodnotu 3D Perlinovho šumu z rozsahu ⟨−1; 1⟩ v bode so
zadanými súradnicami a so zadaným počtom obsiahnutých oktáv.
(Metóda používa predvolenú hodnotu stability 0.5
.)
Podrobnosti o Perlinovom šume nájdete v opise metódy perlin(x, y, z)
.
Táto metóda umožňuje generovať jemnejšie výsledky pre hodnoty Perlinovho šumu, treba však upozorniť na to, že so zvyšujúcim počtom oktáv sa činnosť generátora výrazne spomaľuje. Generátor preto nie je vhodný na generovanie textúr v reálnom čase.
x
– x-ová súradnica priestoru šumuy
– y-ová súradnica priestoru šumuz
– z-ová súradnica priestoru šumupočetOktáv
– počet generovaných oktáv šumu – vyššia hodnota
generuje „jemnejšie“ hodnoty (akoby výsledky s vyšším
rozlíšením)perlin(double, double, double)
,
perlin(double, double, double, int, double)
,
polPerlina(double, double, double)
,
polPerlina(double, double, double, int)
,
polPerlina(double, double, double, int, double)
,
opakovaniePerlina()
,
opakovaniePerlina(int)
public static double perlin(double x, double y, double z, int početOktáv, double stabilita)
Vráti hodnotu 3D Perlinovho šumu z rozsahu ⟨−1; 1⟩ v bode so zadanými súradnicami a so zadaným počtom obsiahnutých oktáv.
Podrobnosti o Perlinovom šume nájdete v opise metódy perlin(x, y, z)
.
Táto metóda umožňuje generovať jemnejšie výsledky pre hodnoty Perlinovho šumu, treba však upozorniť na to, že so zvyšujúcim počtom oktáv sa činnosť generátora výrazne spomaľuje. Generátor preto nie je vhodný na generovanie textúr v reálnom čase.
x
– x-ová súradnica priestoru šumuy
– y-ová súradnica priestoru šumuz
– z-ová súradnica priestoru šumupočetOktáv
– počet generovaných oktáv šumu – vyššia hodnota
generuje „jemnejšie“ hodnoty (akoby výsledky s vyšším
rozlíšením)stabilita
– hodnota vzťahujúca sa k rozbiehavosti generátora
počas generovania vyšších oktávperlin(double, double, double)
,
perlin(double, double, double, int)
,
polPerlina(double, double, double)
,
polPerlina(double, double, double, int)
,
polPerlina(double, double, double, int, double)
,
opakovaniePerlina()
,
opakovaniePerlina(int)
public static double polPerlina(double x, double y, double z)
Vráti hodnotu polovičného 3D Perlinovho šumu z rozsahu ⟨0; 1⟩ v bode so zadanými súradnicami.
Podrobnosti o Perlinovom šume nájdete v opise metódy perlin(x, y, z)
.
x
– x-ová súradnica priestoru šumuy
– y-ová súradnica priestoru šumuz
– z-ová súradnica priestoru šumuperlin(double, double, double)
,
perlin(double, double, double, int)
,
perlin(double, double, double, int, double)
,
polPerlina(double, double, double, int)
,
polPerlina(double, double, double, int, double)
,
opakovaniePerlina()
,
opakovaniePerlina(int)
public static double polPerlina(double x, double y, double z, int početOktáv)
Vráti hodnotu polovičného 3D Perlinovho šumu z rozsahu ⟨0; 1⟩
v bode so zadanými súradnicami a so zadaným počtom obsiahnutých
oktáv.
(Metóda používa predvolenú hodnotu stability 0.5
.)
Podrobnosti o Perlinovom šume nájdete v opise metódy perlin(x, y, z)
.
Táto metóda umožňuje generovať jemnejšie výsledky pre hodnoty Perlinovho šumu, treba však upozorniť na to, že so zvyšujúcim počtom oktáv sa činnosť generátora výrazne spomaľuje. Generátor preto nie je vhodný na generovanie textúr v reálnom čase.
x
– x-ová súradnica priestoru šumuy
– y-ová súradnica priestoru šumuz
– z-ová súradnica priestoru šumupočetOktáv
– počet generovaných oktáv šumu – vyššia hodnota
generuje „jemnejšie“ hodnoty (akoby výsledky s vyšším
rozlíšením)perlin(double, double, double)
,
perlin(double, double, double, int)
,
perlin(double, double, double, int, double)
,
polPerlina(double, double, double)
,
polPerlina(double, double, double, int, double)
,
opakovaniePerlina()
,
opakovaniePerlina(int)
public static double polPerlina(double x, double y, double z, int početOktáv, double stabilita)
Vráti hodnotu polovičného 3D Perlinovho šumu z rozsahu ⟨0; 1⟩ v bode so zadanými súradnicami a so zadaným počtom obsiahnutých oktáv.
Podrobnosti o Perlinovom šume nájdete v opise metódy perlin(x, y, z)
.
Táto metóda umožňuje generovať jemnejšie výsledky pre hodnoty Perlinovho šumu, treba však upozorniť na to, že so zvyšujúcim počtom oktáv sa činnosť generátora výrazne spomaľuje. Generátor preto nie je vhodný na generovanie textúr v reálnom čase.
x
– x-ová súradnica priestoru šumuy
– y-ová súradnica priestoru šumuz
– z-ová súradnica priestoru šumupočetOktáv
– počet generovaných oktáv šumu – vyššia hodnota
generuje „jemnejšie“ hodnoty (akoby výsledky s vyšším
rozlíšením)stabilita
– hodnota vzťahujúca sa k rozbiehavosti generátora
počas generovania vyšších oktávperlin(double, double, double)
,
perlin(double, double, double, int)
,
perlin(double, double, double, int, double)
,
polPerlina(double, double, double)
,
polPerlina(double, double, double, int)
,
opakovaniePerlina()
,
opakovaniePerlina(int)
public static int opakovaniePerlina()
Vráti hodnotu opakovania vzoru generátora Perlinovho šumu. Hodnoty menšie alebo rovné 0 znamenajú nekonečný vzor, čo je predvolený stav.
Podrobnosti o Perlinovom šume nájdete v opise metódy perlin(x, y, z)
.
perlin(double, double, double)
,
perlin(double, double, double, int)
,
perlin(double, double, double, int, double)
,
polPerlina(double, double, double)
,
polPerlina(double, double, double, int)
,
polPerlina(double, double, double, int, double)
,
opakovaniePerlina(int)
public static void opakovaniePerlina(int opakovanie)
Nastaví novú hodnotu opakovania vzoru generátora Perlinovho šumu. Hodnoty menšie alebo rovné 0 (čo je predvolený stav) znamenajú nekonečný vzor.
Podrobnosti o Perlinovom šume nájdete v opise metódy perlin(x, y, z)
.
opakovanie
– nová hodnota opakovania vzoru generátora
Perlinovho šumuperlin(double, double, double)
,
perlin(double, double, double, int)
,
perlin(double, double, double, int, double)
,
polPerlina(double, double, double)
,
polPerlina(double, double, double, int)
,
polPerlina(double, double, double, int, double)
,
opakovaniePerlina()
public static boolean textyDoSchránky()
Vloží do schránky všetky texty vypísané na vnútorných konzolách podlahy a stropu.
true
ak bola operácia úspešnáSchránka.text(String)
public static boolean textyDoSchranky()
Alias pre textyDoSchránky
.
public static boolean textDoSchránky()
Alias pre textyDoSchránky
.
public static boolean textDoSchranky()
Alias pre textyDoSchránky
.
public static boolean textyDoSchránky(boolean lenOznačené)
Vloží do schránky buď všetky texty vypísané na vnútorných
konzolách podlahy a stropu, alebo len označené časti –
v závislosti od hodnoty parametra lenOznačené
.
lenOznačené
– ak je hodnota tohto parametra rovná
true
, tak metóda skopíruje schránky len
označené texty konzol, inak sa správa rovnako ako metóda
textyDoSchránky()
true
ak bola operácia úspešnáSchránka.text(String)
public static boolean textyDoSchranky(boolean lenOznačené)
Alias pre textyDoSchránky
.
public static boolean textDoSchránky(boolean lenOznačené)
Alias pre textyDoSchránky
.
public static boolean textDoSchranky(boolean lenOznačené)
Alias pre textyDoSchránky
.
public static boolean obrázokDoSchránky()
Vloží obrázok (grafiku) sveta do schránky. Grafika sveta je zlúčením grafík podlahy, robotov, stropu a textov vypísaných na vnútorné konzoly oboch plátien.
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áSchránka.obrázok(Image)
public static boolean obrazokDoSchranky()
Alias pre obrázokDoSchránky
.
public static boolean grafikaDoSchránky()
Alias pre obrázokDoSchránky
.
public static boolean grafikaDoSchranky()
Alias pre obrázokDoSchránky
.
public static boolean ťahajSúbory(int ako, String... súbory)
Vytvorí operáciu ťahania súborov. Ide o akciu ťahania jedného alebo viacerých súborov z aktuálnej aplikácie – aktuálneho sveta. Operácia je implementovaná tak, že si všetky potrebné informácie zisťuje sama, takže všetko, čo treba zadať je: 1. typ akcie, čo môže byť:
COPY
– kopírovanie,COPY_OR_MOVE
– kopírovanie
alebo presun,LINK
– vytvorenie prepojenia
(odkazu…),MOVE
– presunNONE
– žiadna akcia (ťahanie
nebude fungovať)Tip: Akcie by mali byť importované z triedy
TransferHandler
, ale jednotka (1
)
znamená „kopírovať“ a dá sa použiť, ak si nie ste istí, akú akciu
máte použiť.
a 2. zoznam súborov (názvy s prípadnou cestou;
parameter: súbory
).
Upozornenie: Na správne fungovanie potrebuje spustenie tejto operácie udalosť myši. Táto metóda automaticky používa poslednú zapamätanú udalosť myši rámca. Ideálne je, aby to bola udalosť stlačenia tlačidla myši. Ak použijete túto metódu v reakcii na stlačenie tlačidla myši, nemali by ste zaznamenať žiadne problémy pri jej používaní.
Varovanie! Počas testovania nám z neznámeho dôvodu nefungovalo ťahanie s inou akciou než kopírovanie. Môžete skúsiť, či vám nebude fungovať aj iná akcia, ale nám to nešlo…
ako
– typ akcie ťahania súborov – pozri vyššiesúbory
– zoznam súborov, ktoré majú byť ťahanéfalse
ak ťahanie nie je možné z dôvodu chýbajúcej
udalosti myši, inak true
public static void tahajSubory(int ako, String... súbory)
Alias pre ťahajSúbory
.
public static boolean ťahajSúbory(String... súbory)
Vytvorí operáciu ťahania súborov. Toto je odľahčená verzia metódy
ťahajSúbory
(akcia,
súbory)
. Do parametra akcia
dopĺňa hodnotu COPY
– kopírovanie. Ďalšie podrobnosti nájdete
v opise širšej verzie tejto metódy.
súbory
– zoznam súborov, ktoré majú byť ťahanéfalse
ak ťahanie nie je možné z dôvodu chýbajúcej
udalosti myši, inak true
public static void tahajSubory(String... súbory)
Alias pre ťahajSúbory
.
public static int šírkaObrázka(String súbor)
Táto metóda spôsobí prečítanie obrázka zo súboru a jeho
uchovanie vo vnútornej pamäti sveta. Obrázok tam zostáva,
pretože je chápaný ako zdroj. Môže však byť v prípade potreby
(napríklad ak sa obsah súboru na disku zmenil) z vnútornej pamäte
odstránený metódou Svet.uvoľni(názovZdroja)
. (Táto informácia je platná pre všetky
metódy pracujúce s obrázkami alebo zvukmi, ktoré prijímajú názov
súboru ako parameter.)
súbor
– názov súboru s obrázkomGRobotException
– ak súbor s obrázkom nebol nájdenýpriečinokObrázkov(String)
public static int sirkaObrazka(String súbor)
Alias pre šírkaObrázka
.
public static int výškaObrázka(String súbor)
Táto metóda spôsobí prečítanie obrázka zo súboru a jeho
uchovanie vo vnútornej pamäti sveta. Obrázok tam zostáva,
pretože je chápaný ako zdroj. Môže však byť v prípade potreby
(napríklad ak sa obsah súboru na disku zmenil) z vnútornej pamäte
odstránený metódou Svet.uvoľni(názovZdroja)
. (Táto informácia je platná pre všetky
metódy pracujúce s obrázkami alebo zvukmi, ktoré prijímajú názov
súboru ako parameter.)
súbor
– názov súboru s obrázkomGRobotException
– ak súbor s obrázkom nebol nájdenýpriečinokObrázkov(String)
public static int vyskaObrazka(String súbor)
Alias pre výškaObrázka
.
public 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ť zdrojový priečinok čítania.
Priečinok by sa mal nachádzať v hlavnom priečinku projektu alebo by
k nemu mala viesť systémovo nezávislá relatívna cesta. Zadaním
prázdneho reťazca alebo hodnoty null
používanie
priečinka zrušíme.
Cesta je používaná pri čítaní všetkých obrázkov, okrem
čítania z archívu. Čiže
napríklad pri čítaní metódou čítaj(súbor)
, vypĺňaní metódami GRobot.vyplňTvar(tvar, súbor)
, GRobot.vyplňOblasť(oblasť, súbor)
(atď.), kreslení metódami GRobot.obrázok(súbor)
, Plátno.obrázok(súbor)
(atď.), ale aj pri nastavovaní vlastného
tvaru robota GRobot.vlastnýTvar(súbor)
a v mnohých iných situáciách (pozri
zoznam odkazov nižšie – nemusí byť úplný).
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)
,
čítajObrázky(Object[])
,
čítajObrázky(String[])
,
čítajObrázok(String)
,
Plátno.obrázok(String)
,
Plátno.obrázok(double, double, String)
,
Plátno.obrázok(Poloha, String)
,
Plátno.vyplň(String)
,
Obrázok.priečinokObrázkov(String)
,
Obrázok.čítaj(String)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.kresli(String)
,
Obrázok.kresli(double, double, String)
,
Obrázok.kresli(Poloha, String)
,
Obrázok.vyplň(String)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(GRobot, String)
,
PoložkaPonuky.ikona(String)
,
KontextováPoložka.ikona(String)
public static void priecinokObrazkov(String priečinok)
Alias pre priečinokObrázkov
.
public static String priečinokObrázkov()
Vráti reťazec s aktuálnym priečinkom, z ktorého sú obrázky
prečítané. Reťazec je obohatený o oddeľovací znak priečinkov 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)
. Rovnako 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)
,
čítajObrázky(Object[])
,
čítajObrázky(String[])
,
čítajObrázok(String)
,
Plátno.obrázok(String)
,
Plátno.obrázok(double, double, String)
,
Plátno.obrázok(Poloha, String)
,
Plátno.vyplň(String)
,
Obrázok.priečinokObrázkov()
,
Obrázok.čítaj(String)
,
Obrázok.vyplň(Shape, String)
,
Obrázok.kresli(String)
,
Obrázok.kresli(double, double, String)
,
Obrázok.kresli(Poloha, String)
,
Obrázok.vyplň(String)
,
Oblasť.vyplň(String)
,
Oblasť.vyplň(GRobot, String)
,
PoložkaPonuky.ikona(String)
,
KontextováPoložka.ikona(String)
public static String priecinokObrazkov()
Alias pre priečinokObrázkov
.
public static void čítajObrázky(Object... súbory)
Táto metóda slúži na čítanie zadaných obrázkov do vnútornej pamäte
sveta (napríklad pri štarte aplikácie). Svet ukladá do vnútornej
pamäte každý obrázok, s ktorým sa pracovalo (ak tam už nie je).
Z nej môže byť v prípade potreby (napríklad ak sa obsah súboru na
disku zmenil) odstránený metódou Svet.uvoľni(názovZdroja)
.
Táto metóda číta súbory s obrázkami vopred a tým môže prispieť
k plynulejšej činnosti aplikácie po štarte (čas štartu sa
predĺži, ale keďže súbory už nemusia byť čítané počas jej
činnosti, pracuje plynulejšie).
súbory
– ľubovoľný počet reťazcov označujúcich súboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanépriečinokObrázkov(String)
public static void citajObrazky(Object... súbory)
Alias pre čítajObrázky
.
public static void prečítajObrázky(Object... súbory)
Alias pre čítajObrázky
.
public static void precitajObrazky(Object... súbory)
Alias pre čítajObrázky
.
public static void čítajObrázky(String[] súbory)
Táto metóda slúži na čítanie zadaných obrázkov do vnútornej pamäte
sveta (napríklad pri štarte aplikácie). Svet ukladá do vnútornej
pamäte ukladá každý obrázok, s ktorým sa pracovalo (ak tam už nie
je). Z nej môže byť v prípade potreby (napríklad ak sa obsah súboru
na disku zmenil) odstránený metódou Svet.uvoľni(názovZdroja)
.
Táto metóda číta súbory s obrázkami vopred a tým môže prispieť
k plynulejšej činnosti aplikácie po štarte (čas štartu sa
predĺži, ale keďže súbory už nemusia byť čítané počas jej
činnosti, pracuje plynulejšie).
súbory
– pole reťazcov označujúcich súboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanépriečinokObrázkov(String)
public static void citajObrazky(String[] súbory)
Alias pre čítajObrázky
.
public static void prečítajObrázky(String[] súbory)
Alias pre čítajObrázky
.
public static void precitajObrazky(String[] súbory)
Alias pre čítajObrázky
.
public static Image čítajObrázok(String súbor)
Prečíta do vnútornej pamäte sveta zadaný obrázok zo súboru a vráti
ho v objekte typu Image
. Obrázok nie je zobrazený.
Podobnú úlohu plní metóda Svet.čítajObrázky(Object... súbory)
, ale pomocou nej nie je
možné získať objekt typu Image
na ďalšie
spracovanie. Obrázok môže byť v prípade potreby (napríklad ak sa
obsah súboru na disku zmenil) z vnútornej pamäte odstránený
metódou Svet.uvoľni(názovZdroja)
.
súbor
– názov súboru s obrázkomImage
GRobotException
– ak súbor s obrázkom nebol nájdenýObrázok.čítaj(String)
,
priečinokObrázkov(String)
public static Image citajObrazok(String súbor)
Alias pre čítajObrázok
.
public static Image prečítajObrázok(String súbor)
Alias pre čítajObrázok
.
public static Image precitajObrazok(String súbor)
Alias pre čítajObrázok
.
public static void obrázok(String súbor)
Nakreslí v strede podlahy zadaný obrázok. Má rovnaký efekt ako keby
sme volali metódu 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)
Nakreslí na zadaných súradniciach na podlahe obrázok. Má rovnaký
efekt ako keby sme volali metódu 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)
Nakreslí na súradniciach zadaného objektu na podlahe obrázok.
Má rovnaký efekt ako keby sme volali metódu
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)
Nakreslí v strede podlahy zadaný obrázok. Má rovnaký efekt ako keby
sme volali metódu 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)
Nakreslí na zadaných súradniciach na podlahe obrázok. Má rovnaký
efekt ako keby sme volali metódu 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)
Nakreslí na súradniciach zadaného objektu na podlahe obrázok.
Má rovnaký efekt ako keby sme volali metódu
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)
Uloží aktuálne zobrazený obsah sveta do súboru s obrázkom. Prípona
súboru musí byť .gif
, .png
alebo .jpg
(resp. .jpeg
). Ak súbor jestvuje, tak 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 súbor, boolean
prepísať)
s druhým parametrom rovným true
.
súbor
– názov súboru s požadovanou príponouGRobotException
– ak súbor jestvuje alebo nebol zadaný
názov súboru s platnou príponoupublic static void ulozObrazok(String súbor)
Alias pre uložObrázok
.
public static void uložObrázok(String súbor, boolean prepísať)
Uloží aktuálny obsah sveta do súboru s obrázkom. Prípona súboru
musí byť .gif
, .png
alebo .jpg
(resp.
.jpeg
).
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 súbor)
GRobotException
– 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ť)
Alias pre uložObrázok
.
public static Farba farbaTextu()
Zistí aktuálnu farbu výpisu nových textov stropu. Má rovnaký efekt
ako keby sme volali metódu strop.farbaTextu()
.
Farba
)public static void farbaTextu(Color nováFarba)
Nastav farbu textov stropu. Má rovnaký efekt ako keby sme volali
metódu strop.farbaTextu(Color)
.
nováFarba
– objekt určujúci novú farbu perapublic static void farbaTextu(Farebnosť objekt)
Nastav farbu textov stropu. Má rovnaký efekt ako keby sme volali
metódu strop.farbaTextu(Color)
.
objekt
– objekt určujúci novú farbu perapublic static Farba farbaTextu(int r, int g, int b)
Nastav farbu textov stropu. Má rovnaký efekt ako keby sme volali
metódu 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 textovpublic static Farba farbaTextu(int r, int g, int b, int a)
Nastav farbu textov stropu. Má rovnaký efekt ako keby sme volali
metódu 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 textovpublic static void predvolenáFarbaTextu()
Zmení farbu textov stropu na predvolenú. Má rovnaký efekt ako keby
sme volali metódu strop.predvolenáFarbaTextu()
.
public static void predvolenaFarbaTextu()
Alias pre predvolenáFarbaTextu
.
public static Farba farbaPozadiaTextu()
Zistí aktuálnu farbu pozadia výpisu nových textov stropu. Má
rovnaký efekt ako keby sme volali metódu
strop.farbaPozadiaTextu()
.
Farba
)public static void farbaPozadiaTextu(Color nováFarba)
Nastav farbu pozadia textov stropu. Má rovnaký efekt ako keby sme
volali metódu strop.farbaPozadiaTextu(Color)
.
nováFarba
– objekt určujúci novú farbu pozadia textovpublic static void farbaPozadiaTextu(Farebnosť objekt)
Nastav farbu pozadia textov stropu. Má rovnaký efekt ako keby sme
volali metódu strop.farbaPozadiaTextu(Color)
.
objekt
– objekt určujúci novú farbu pozadia textovpublic static Farba farbaPozadiaTextu(int r, int g, int b)
Nastav farbu pozadia textov stropu. Má rovnaký efekt ako keby sme
volali metódu 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 Farba farbaPozadiaTextu(int r, int g, int b, int a)
Nastav farbu pozadia textov stropu. Má rovnaký efekt ako keby sme
volali metódu 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()
Zmení farbu pozadia textov stropu na predvolenú. (Predvolenou
farbou pozadia textov nie je žiadna farba – je to objekt farby
s hodnotou null
.) Volanie tejto metódy má rovnaký efekt
ako keby sme volali metódu
strop.predvolenáFarbaPozadiaTextu()
.
public static void predvolenaFarbaPozadiaTextu()
Alias pre predvolenáFarbaPozadiaTextu
.
public static Farba farbaPozadia()
Čítaj farbu pozadia sveta.
Ide o farbu podkladu, ktorá je použitá v prípade, že podlaha ani
strop neboli vyplnené žiadnou konkrétnou farbou (pozri vymaž
, vyplň
).
Farba
)public static void farbaPozadia(Color nováFarba)
Nastav farbu pozadia sveta.
Ide o farbu podkladu, ktorá je použitá v prípade, že podlaha ani
strop neboli vyplnené žiadnou konkrétnou farbou (pozri vymaž
, vyplň
).
Poznámka: Farbu pozadia môže prekryť výplň plátna, ale keď je obsah plátien prázdny (vymazaný), je svet grafických robotov vyplnený farbou pozadia.
public static void farbaPozadia(Farebnosť objekt)
Nastaví farbu pozadia sveta podľa farby zadaného objektu.
Farba pozadia je použitá v prípade, že podlaha ani strop neboli
vyplnené žiadnou konkrétnou farbou (pozri vymaž
, vyplň
).
Poznámka: Farbu pozadia môže prekryť výplň plátna, ale keď je obsah plátien prázdny (vymazaný), je svet grafických robotov vyplnený farbou pozadia.
objekt
– objekt určujúci novú farbu pozadiavymaž()
public static Farba farbaPozadia(int r, int g, int b)
Nastav farbu pozadia sveta.
Ide o farbu podkladu, ktorá je použitá v prípade, že podlaha ani
strop neboli vyplnené žiadnou konkrétnou farbou (pozri 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(Color)
public static Farba farbaPozadia(int r, int g, int b, int a)
Nastav farbu a (ne)priehľadnosť pozadia sveta.
Ide o farbu podkladu, ktorá je použitá v prípade, že podlaha ani
strop neboli vyplnené žiadnou konkrétnou farbou (pozri 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(Color)
public static void predvolenáFarbaPozadia()
public static void predvolenaFarbaPozadia()
Alias pre predvolenáFarbaPozadia
.
public static Farba farbaPlochy()
Číta farbu plochy sveta. Ide o farbu základného komponentu okna aplikácie, na ktorom je umiestnené plátno a prípadne ďalšie komponenty.
Farba
)public static void farbaPlochy(Color nováFarba)
Nastaví farbu plochy sveta. Ide o farbu základného komponentu okna aplikácie, na ktorom je umiestnené plátno a prípadne ďalšie komponenty.
Ukážka troch farieb plochy. Zľava doprava:
systémom predvolená, papierová
a antracitová
.
public static void farbaPlochy(Farebnosť objekt)
Nastaví farbu plochy sveta podľa farby zadaného objektu. Plochou je myslený základný komponent okna aplikácie, na ktorom je umiestnené plátno a prípadne ďalšie komponenty.
objekt
– objekt určujúci novú farbu plochyfarbaPlochy(Color)
public static Farba farbaPlochy(int r, int g, int b)
Nastaví farbu plochy sveta. Plochou je myslený základný komponent okna aplikácie, na ktorom je umiestnené plátno a prípadne ďalšie komponenty.
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 plochyfarbaPlochy(Color)
public static Farba farbaPlochy(int r, int g, int b, int a)
Nastaví farbu a (ne)priehľadnosť plochy sveta. Plochou je myslený základný komponent okna aplikácie, na ktorom je umiestnené plátno a prípadne ďalšie komponenty.
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 plochyfarbaPlochy(Color)
public static void predvolenáFarbaPlochy()
Nastaví predvolenú farbu plochy. Ide o farbu základného komponentu okna aplikácie, na ktorom je umiestnené plátno a prípadne ďalšie komponenty. (Predvolenou farbou je obvykle šedá, ale farba sa môže líšiť v závislosti od operačného systému, jeho nastavení alebo podľa použitého dizajnu vzhľadu používateľského rozhrania – L&F.)
public static void predvolenaFarbaPlochy()
Alias pre predvolenáFarbaPlochy
.
public static Farba farbaBodu(double x, double y)
Zistí farbu bodu (jedného pixela) na zadaných súradniciach.
Ak sa zadané súradnice nachádzajú mimo plochy sveta, je vrátená
inštancia farebnosti ž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 Farba farbaBodu(Poloha objekt)
Zistí farbu bodu (jedného pixela) na pozícii zadaného objektu.
Ak sa objekt nachádza mimo plochy sveta, je vrátená inštancia
farebnosti ž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)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje so zadanou farbou. Ak sú zadané súradnice mimo plochy
sveta, je vrátená hodnota 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)
Zistí, či sa farba bodu (jedného pixela) na súradniciach zadaného
objektu zhoduje so zadanou farbou. Ak sú súradnice zadaného objektu
mimo plochy sveta, je vrátená hodnota 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)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje s farbou zadaného objektu. Ak sú zadané súradnice mimo
plochy sveta, je vrátená hodnota 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ť)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje s farbou zadaného objektu. Ak sú súradnice zadaného objektu
mimo plochy sveta, je vrátená hodnota 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)
Zistí, či sa farba bodu (jedného pixela) na zadaných súradniciach
zhoduje s farbou zadanou prostredníctvom farebných zložiek.
(Úroveň priehľadnosti je nastavená na hodnotu 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)
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.
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)
Zistí, či sa farba bodu (jedného pixela) na súradniciach zadaného
objektu zhoduje s farbou zadanou prostredníctvom farebných zložiek.
(Úroveň priehľadnosti je nastavená na hodnotu 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)
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.
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 Farba farbaNaMyši()
Zistí farbu bodu (jedného pixela) na súradniciach myši. 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 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
KreslenieTvaru
() {@
Overridepublic
void
kresli
(GRobot
r) {Farba
mojaFarba = r.farba
();farba
(čierna
);kruh
(30
);farba
(biela
);kruh
(25
);farba
(mojaFarba);kruh
(20
); } });
Výsledok:
Plátno je zaplnené farebnými štvorcami
a farba pod kurzorom myši
je indikovaná v kruhovom indikátore
v ľavom hornom rohu
(plátno na obrázku je
zmenšené).
Farba
) na pozícii
myšipublic static Farba farbaNaMysi()
Alias pre farbaNaMyši
.
public static boolean farbaNaMyši(Color farba)
Zistí, či sa farba bodu (jedného pixela) na súradniciach myši zhoduje so zadanou farbou. Testovať farbu pomocou tejto metódy môžeme napríklad takto:
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)
Alias pre farbaNaMyši
.
public static boolean farbaNaMyši(Farebnosť objekt)
Zistí, či sa farba bodu (jedného pixela) na súradniciach myši zhoduje so zadanou farbou. Testovať farbu pomocou tejto metódy môžeme napríklad takto:
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)
Alias pre farbaNaMyši
.
public 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.
(Úroveň priehľadnosti je nastavená na hodnotu 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)
Alias pre farbaNaMyši
.
public 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.
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)
Alias pre farbaNaMyši
.
public static Písmo písmo()
Čítaj aktuálny typ písma textov stropu. Má rovnaký efekt ako keby
sme volali metódu strop.písmo()
.
public static void písmo(Font novéPísmo)
Nastav nový typ písma textov stropu. Má rovnaký efekt ako keby
sme volali metódu strop.písmo(Font)
. Písmo používajú metódy vypíš
a vypíšRiadok
.
public static Písmo písmo(String názov, double veľkosť)
Nastav nový typ písma textov stropu. Má rovnaký efekt ako keby sme
volali metódu strop.písmo(String, double)
.
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 bodoch (hodnota je zaokrúhlená
na typ float
)Písmo
určujúci nový typ písmapublic static void predvolenéPísmo()
Nastav predvolený typ písma textov stropu. Má rovnaký efekt ako keby
sme volali metódu strop.predvolenéPísmo()
.
public static void predvolenePismo()
Alias pre predvolenéPísmo
.
public 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ť zdrojový priečinok čítania.
Priečinok by sa mal nachádzať v hlavnom priečinku projektu alebo by
k nemu mala viesť systémovo nezávislá relatívna cesta. Zadaním
prázdneho reťazca alebo hodnoty 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()
,
čítajZvuky(Object[])
,
čítajZvuky(String[])
,
čítajZvuk(String)
,
čítajZvuk(String, boolean)
,
zvuk(String)
,
zvukNaPozadí(String)
,
zastavZvuky(Object[])
,
hlasitosťPreZvuky(double, Object[])
,
váhaPreZvuky(double, Object[])
,
zastavZvuky(String[])
,
hlasitosťPreZvuky(double, String[])
,
váhaPreZvuky(double, String[])
,
Zvuk
public static void priecinokZvukov(String priečinok)
Alias pre priečinokZvukov
.
public static String priečinokZvukov()
Vráti reťazec s aktuálnym priečinkom, z ktorého sú zvuky čítané.
Reťazec je obohatený o oddeľovací znak priečinkov java.io.File.separatorChar
(/
alebo
\
– záleží na type operačného systému), ktorý automaticky
pridáva metóda priečinokZvukov(priečinok)
. Rovnako všetky oddeľovacie znaky
priečinkov v relatívnej ceste sú nahradené podľa typu operačného
systému.
priečinokZvukov(String)
,
čítajZvuky(Object[])
,
čítajZvuky(String[])
,
čítajZvuk(String)
,
čítajZvuk(String, boolean)
,
zvuk(String)
,
zvukNaPozadí(String)
,
zastavZvuky(Object[])
,
hlasitosťPreZvuky(double, Object[])
,
váhaPreZvuky(double, Object[])
,
zastavZvuky(String[])
,
hlasitosťPreZvuky(double, String[])
,
váhaPreZvuky(double, String[])
,
Zvuk
,
Zvuk.čítaj(String)
,
Zvuk.čítaj(String, boolean)
public static String priecinokZvukov()
Alias pre priečinokZvukov
.
public static void čítajZvuky(Object... súbory)
Táto metóda slúži na čítanie zadaných zvukových súborov do
vnútornej pamäte sveta (napríklad pri štarte aplikácie). Svet
ukladá do vnútornej pamäte každý prehrávaný zvuk (ak tam už nie
je). Z nej môže byť v prípade potreby (napríklad ak sa obsah súboru
na disku zmenil) odstránený metódou Svet.uvoľni(názovZdroja)
. Táto metóda číta zvukové súbory vopred
a tým môže prispieť k plynulejšej činnosti aplikácie po štarte (čas
štartu sa predĺži, ale keďže súbory už nemusia byť čítané počas jej
činnosti môže pracovať plynulejšie).
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaných zvukov. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
súbory
– ľubovoľný počet reťazcov označujúcich súboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanépriečinokZvukov(String)
,
čítajZvuky(String[])
,
čítajZvuk(String)
,
čítajZvuk(String, boolean)
,
zvuk(String)
,
zvukNaPozadí(String)
,
Zvuk
,
Zvuk.čítaj(String)
,
Zvuk.čítaj(String, boolean)
public static void citajZvuky(Object... súbory)
Alias pre čítajZvuky
.
public static void prečítajZvuky(Object... súbory)
Alias pre čítajZvuky
.
public static void precitajZvuky(Object... súbory)
Alias pre čítajZvuky
.
public static void čítajZvuky(String[] súbory)
Táto metóda slúži na čítanie zadaných zvukových súborov do
vnútornej pamäte sveta (napríklad pri štarte aplikácie). Svet
ukladá do vnútornej pamäte každý prehrávaný zvuk (ak tam už nie
je). Z nej môže byť v prípade potreby (napríklad ak sa obsah súboru
na disku zmenil) odstránený metódou Svet.uvoľni(názovZdroja)
. Táto metóda číta zvukové súbory vopred
a tým môže prispieť k plynulejšej činnosti aplikácie po štarte (čas
štartu sa predĺži, ale keďže súbory už nemusia byť čítané počas jej
činnosti, pracuje plynulejšie).
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaných zvukov. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
súbory
– pole reťazcov označujúcich súboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanépriečinokZvukov(String)
,
čítajZvuky(Object[])
,
čítajZvuk(String)
,
čítajZvuk(String, boolean)
,
zvuk(String)
,
zvukNaPozadí(String)
,
Zvuk
,
Zvuk.čítaj(String)
,
Zvuk.čítaj(String, boolean)
public static void citajZvuky(String[] súbory)
Alias pre čítajZvuky
.
public static void prečítajZvuky(String[] súbory)
Alias pre čítajZvuky
.
public static void precitajZvuky(String[] súbory)
Alias pre čítajZvuky
.
public static Zvuk čítajZvuk(String súbor)
Prečíta do vnútornej pamäte sveta zadaný zvuk zo súboru a vráti
ho v objekte typu Zvuk
. Zvuk nie je prehraný. Podobnú
úlohu plní metóda Svet.čítajZvuky(Object... súbory)
(pozri pre viac informácií),
ale pomocou nej nie je možné získať objekt typu Zvuk
na prípadné ďalšie spracovanie. Zvuk môže byť v prípade potreby
(napríklad ak sa obsah súboru na disku zmenil) z vnútornej pamäte
odstránený metódou Svet.uvoľni(názovZdroja)
.
Táto metóda funguje tak, že podľa potreby vytvára nové unikátne inštancie zvuku identifikovaného názvom súboru. Nová inštancia vznikne vždy, ak sa vo vnútornej pamäti sveta nenájde taká inštancia určeného zvuku, ktorá práve nie je prehrávaná (to znamená, že metóda musí nájsť zvuk, ktorý je ticho). Takto fungujú všetky metódy pracujúce so zvukom. Ak by sa toto nedialo, tak by vznikalo nežiaduce správanie – vždy pri pokuse prehrať ten istý zvuk počas jeho prehrávania, by sa tento reštartoval. (Nebolo by možné prehrať sériu rovnakých zvukov, ktoré sa časovo prekrývajú. To by pôsobilo neprirodzene – každé reštartovanie zvuku by bolo počuteľné tak, ako keby sa zo zvuku zrazu časť „odsekla.“)
súbor
– názov súboru so zvukomZvuk
GRobotException
– ak súbor so zvukom nebol nájdenýpriečinokZvukov(String)
,
čítajZvuky(Object[])
,
čítajZvuky(String[])
,
čítajZvuk(String, boolean)
,
zvuk(String)
,
zvukNaPozadí(String)
,
Zvuk
,
Zvuk.čítaj(String)
,
Zvuk.čítaj(String, boolean)
public static Zvuk čítajZvuk(String súbor, boolean unikátny)
Prečíta do vnútornej pamäte sveta zadaný zvuk zo súboru a vráti
ho v objekte typu Zvuk
. Zvuk nie je prehraný. Ak je
parameter unikátny
rovný false
, tak táto metóda
funguje rovnako ako metóda čítajZvuk(súbor)
.
V prípade, že je parameter unikátny
rovný true
, tak táto metóda vždy vráti unikátny objekt zvuku
aj v prípade, že jestvuje aspoň jedna kópia tohto zvuku, ktorá sa
práve neprehráva (t. j. je ticho).
Všetky kópie zvuku môžu byť v prípade potreby (napríklad ak sa
obsah zvukového súboru na disku zmenil) z vnútornej pamäte
odstránené metódou Svet.uvoľni(názovZdroja)
.
súbor
– názov súboru so zvukomunikátny
– určuje, či objekt vrátený touto metódou musí
byť unikátnyZvuk
GRobotException
– ak súbor so zvukom nebol nájdenýpriečinokZvukov(String)
,
čítajZvuky(Object[])
,
čítajZvuky(String[])
,
čítajZvuk(String)
,
zvuk(String)
,
zvukNaPozadí(String)
,
Zvuk
,
Zvuk.čítaj(String)
,
Zvuk.čítaj(String, boolean)
public static void zvuk(String súbor)
Prehrá zvukový súbor (formát .wav
, .au
alebo
.mp3
).
Napríklad:
Svet
.zvuk
("zvuk.wav"
);
Zvuk prečítaný zo súboru je chápaný ako zdroj a po
prečítaní zostane uložený vo vnútornej pamäti sveta. Z nej
môže byť v prípade potreby (napríklad ak sa obsah súboru na
disku zmenil) odstránený metódou Svet.uvoľni(názovZdroja)
. (Táto informácia je platná pre
všetky metódy pracujúce s obrázkami alebo zvukmi, ktoré
prijímajú názov súboru ako parameter.)
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaného zvuku. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
súbor
– názov zvukového súboru, ktorý má byť prehranýGRobotException
– ak súbor so zvukom nebol nájdenýpriečinokZvukov(String)
,
zvukNaPozadí(String)
,
Zvuk
public static void zvukNaPozadí(String súbor)
Začne alebo ukončí prehrávanie zvuku zo súboru na pozadí (formát
.wav
, .au
alebo .mp3
). Ak chceme
prehrávanie zvuku zastaviť, zadáme do argumentu metódy
null
.
Zvuk prečítaný zo súboru je chápaný ako zdroj a po
prečítaní zostane uložený vo vnútornej pamäti sveta. Z nej
môže byť v prípade potreby (napríklad ak sa obsah súboru na
disku zmenil) odstránený metódou Svet.uvoľni(názovZdroja)
. (Táto informácia je platná pre
všetky metódy pracujúce s obrázkami alebo zvukmi, ktoré
prijímajú názov súboru ako parameter.)
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaného zvuku. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
súbor
– názov zvukového súboru, ktorý má byť prehrávaný,
alebo null
na zastavenie prehrávaniaGRobotException
– ak súbor so zvukom nebol nájdenýpriečinokZvukov(String)
,
zvuk(String)
,
Zvuk
public static void zvukNaPozadi(String súbor)
Alias pre zvukNaPozadí
.
public static boolean hráZvukNaPozadí()
Zistí, či je aktívne prehrávanie zvuku na pozadí, ktoré bolo
spustené metódou zvukNaPozadí
.
true
– áno; false
– niepublic static boolean hraZvukNaPozadi()
Alias pre hráZvukNaPozadí
.
public static void zastavZvuky(Object... súbory)
Zastaví všetky uvedené zvuky. Zoznam je treba uviesť v tvare objektov, ktorých prevody na textové reťazce budú označovať názvy súborov (prípadne zdrojov), z ktorých zvuky boli alebo majú byť prečítané. (Najlepšie použiť priamo reťazce.)
Pozor! Táto metóda zároveň spôsobí
prečítanie všetkých dotknutých zvukov do vnútornej pamäte (ak tam
už nie sú). Z nej môžu byť v prípade potreby (napríklad ak sa obsah
súboru na disku zmenil) odstránené metódou Svet.uvoľni(názovZdroja)
.
(Táto informácia je platná pre všetky metódy pracujúce s obrázkami
alebo zvukmi, ktoré prijímajú názov súboru ako parameter.)
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaných zvukov. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
súbory
– ľubovoľný počet reťazcov označujúcich súboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanépriečinokZvukov(String)
,
zastavZvuky(String[])
,
Zvuk
public static void hlasitosťPreZvuky(double miera, Object... súbory)
Nastaví hromadne hlasitosť pre všetky uvedené zvuky. Zoznam je treba uviesť v tvare objektov, ktorých prevody na textové reťazce budú označovať názvy súborov (prípadne zdrojov), z ktorých zvuky boli alebo majú byť prečítané. (Najlepšie použiť priamo reťazce.)
Pozor! Táto metóda zároveň spôsobí
prečítanie všetkých dotknutých zvukov do vnútornej pamäte (ak tam
už nie sú). Z nej môžu byť v prípade potreby (napríklad ak sa obsah
súboru na disku zmenil) odstránené metódou Svet.uvoľni(názovZdroja)
.
(Táto informácia je platná pre všetky metódy pracujúce s obrázkami
alebo zvukmi, ktoré prijímajú názov súboru ako parameter.)
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaných zvukov. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
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úboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanéZvuk.hlasitosť(double)
,
priečinokZvukov(String)
,
hlasitosťPreZvuky(double, String[])
,
Zvuk
public static void hlasitostPreZvuky(double miera, Object... súbory)
Alias pre hlasitosťPreZvuky
public static void váhaPreZvuky(double miera, Object... súbory)
Nastaví hromadne stereováhu pre všetky uvedené zvuky. Zoznam je treba uviesť v tvare objektov, ktorých prevody na textové reťazce budú označovať názvy súborov (prípadne zdrojov), z ktorých zvuky boli alebo majú byť prečítané. (Najlepšie je použiť priamo reťazce.)
Pozor! Táto metóda zároveň spôsobí
prečítanie všetkých dotknutých zvukov do vnútornej pamäte (ak tam
už nie sú). Z nej môžu byť v prípade potreby (napríklad ak sa obsah
súboru na disku zmenil) odstránené metódou Svet.uvoľni(názovZdroja)
.
(Táto informácia je platná pre všetky metódy pracujúce s obrázkami
alebo zvukmi, ktoré prijímajú názov súboru ako parameter.)
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaných zvukov. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
miera
– miera stereovyváž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úboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanéZvuk.váha(double)
,
priečinokZvukov(String)
,
váhaPreZvuky(double, String[])
,
Zvuk
public static void vahaPreZvuky(double miera, Object... súbory)
Alias pre váhaPreZvuky
public static void zastavZvuky(String[] súbory)
Zastaví všetky uvedené zvuky. Zoznam je tvorený poľom textových reťazcov označujúcich súbory, z ktorých boli zvuky prečítané.
Pozor! Táto metóda zároveň spôsobí
prečítanie všetkých dotknutých zvukov do vnútornej pamäte (ak tam
už nie sú). Z nej môžu byť v prípade potreby (napríklad ak sa obsah
súboru na disku zmenil) odstránené metódou Svet.uvoľni(názovZdroja)
.
(Táto informácia je platná pre všetky metódy pracujúce s obrázkami
alebo zvukmi, ktoré prijímajú názov súboru ako parameter.)
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaných zvukov. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
súbory
– pole reťazcov označujúcich súboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanépriečinokZvukov(String)
,
zastavZvuky(Object[])
,
Zvuk
public static void hlasitosťPreZvuky(double miera, String[] súbory)
Nastaví hromadne hlasitosť pre všetky uvedené zvuky. Zoznam je tvorený poľom textových reťazcov označujúcich súbory, z ktorých boli zvuky prečítané.
Pozor! Táto metóda zároveň spôsobí
prečítanie všetkých dotknutých zvukov do vnútornej pamäte (ak tam
už nie sú). Z nej môžu byť v prípade potreby (napríklad ak sa obsah
súboru na disku zmenil) odstránené metódou Svet.uvoľni(názovZdroja)
.
(Táto informácia je platná pre všetky metódy pracujúce s obrázkami
alebo zvukmi, ktoré prijímajú názov súboru ako parameter.)
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaných zvukov. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
miera
– miera hlasitosti v percentách – 0 % zodpovedá hodnote
0.0
, 100 % hodnote 1.0
súbory
– pole reťazcov označujúcich súboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanéZvuk.hlasitosť(double)
,
priečinokZvukov(String)
,
hlasitosťPreZvuky(double, Object[])
,
Zvuk
public static void hlasitostPreZvuky(double miera, String[] súbory)
Alias pre hlasitosťPreZvuky
public static void váhaPreZvuky(double miera, String[] súbory)
Nastaví hromadne stereováhu pre všetky uvedené zvuky. Zoznam je tvorený poľom textových reťazcov označujúcich súbory, z ktorých boli zvuky prečítané.
Pozor! Táto metóda zároveň spôsobí
prečítanie všetkých dotknutých zvukov do vnútornej pamäte (ak tam
už nie sú). Z nej môžu byť v prípade potreby (napríklad ak sa obsah
súboru na disku zmenil) odstránené metódou Svet.uvoľni(názovZdroja)
.
(Táto informácia je platná pre všetky metódy pracujúce s obrázkami
alebo zvukmi, ktoré prijímajú názov súboru ako parameter.)
Poznámka: Táto metóda
a všetky také, ktoré pracujú so zvukmi identifikovanými podľa
názvu súboru tak, že podľa potreby vytvára(jú) nové unikátne
inštancie identifikovaných zvukov. Podrobnejšie vysvetlenie je
v opise metódy čítajZvuk(súbor)
.
miera
– miera stereovyváž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úboryGRobotException
– ak niektorý súbor nebol nájdený;
spracovanie sa v okamihu vzniku výnimky neskončí a vrhnutá je
len posledná vzniknutá výnimka, to znamená, že všetky
predchádzajúce výnimky sú ignorovanéZvuk.váha(double)
,
priečinokZvukov(String)
,
váhaPreZvuky(double, Object[])
,
Zvuk
public static void vahaPreZvuky(double miera, String[] súbory)
Alias pre váhaPreZvuky
public static void pípni()
Aplikácia vydá štandardný zvuk operačného systému. (To je využiteľné napríklad pri jednoduchom overení, či sa podarilo spustiť nejakú časť programu…)
public static void pipni()
Alias pre pípni
.
public static void pípni(String názov)
Aplikácia vydá štandardný zvuk operačného systému Windows podľa
vloženého pomenovania. Operačný systém Windows má definovaných
viacero systémových zvukov, ktoré sú dostupné prostredníctvom
tejto verzie metódy. Ak je metóda spustená na inom operačnom
systéme alebo nastane iné zlyhanie, tak je prehraný rovnaký
zvukový signál ako pri metóde pípni()
(bez
parametra).
názov
– názov zvuku; tu sú niektoré názvy zvukov, ktoré
sú podporované OS Windows: "asterisk"
,
"close"
, "default"
,
"exclamation"
, "exit"
,
"hand"
, "maximize"
,
"menuCommand"
, "menuPopup"
,
"minimize"
, "open"
,
"question"
, "restoreDown"
,
"restoreUp"
alebo "start"
.public static double frekvenciaNoty(int nota, int oktáva)
Vypočíta harmonickú frekvenciu tónu na základe zadaného poradového čísla noty (odporúčané sú hodnoty 1 až 12) a oktávy (odporúčané sú hodnoty −1 až 9).
Poradové čísla nôt zodpovedajú nasledujúcim tónom:
1 | C | 4 | E♭/D♯ | 7 | F♯/G♭ | 10 | A | |||
2 | C♯/D♭ | 5 | E | 8 | G | 11 | B♭/H♭/A♯ | |||
3 | D | 6 | F | 9 | A♭/G♯ | 12 | B/H |
Táto metóda vypočíta frekvenciu aj v prípade, že zadané hodnoty tónu a oktávy sú mimo odporúčaných rozsahov, ale v prípade výrazného prekročenia rozsahu nemusí byť výsledná frekvencia počuteľná.
nota
– číslo noty v rámci oktávy (1 až 12 – pozri tabuľku vyššie)otáva
– číslo oktávy (−1 až 9, prípadne 10)hrajTón(double)
,
hrajTón(double, double)
,
hrajTón(double, double, double)
,
zastavTón()
,
otvorSúborNaUloženieTónu(String)
,
otvorSúborNaUloženieTónu(String, boolean)
,
zavriSúborNaUloženieTónu()
,
generátorTónov()
,
Zvuk
public static void hrajTón(double frekvencia)
Spustí prehrávanie tónu tvoreného jedinou harmonickou frekvenciou.
Hlasitosť tónu je automaticky nastavená na 80 % (0.8
).
Prehrávanie tónu zastaví volanie metódy zastavTón
.
Spustením tejto metódy sa zruší prípadný plán prehrávaných tónov
vytvorený volaním metódy hrajTón(frekvencia, hlasitosť, trvanie)
.
Príklad:
Nasledujúci jednoduchý príklad vyrobí zvukový hvizd v rozmedzí frekvencií od 50 Hz do zhruba 15 kHz. Ukážka hvízdnutia je pod príkladom.
for
(double
f =50.0
; f <=15_000.0
; f +=150.0
) {Svet
.hrajTón
(f);Svet
.čakaj
(0.010
); }Svet
.zastavTón
();
Ukážka hvízdnutia:
frekvencia
– harmonická frekvencia tónu v hertzochfrekvenciaNoty(int, int)
,
hrajTón(double, double)
,
hrajTón(double, double, double)
,
zastavTón()
,
otvorSúborNaUloženieTónu(String)
,
otvorSúborNaUloženieTónu(String, boolean)
,
zavriSúborNaUloženieTónu()
,
generátorTónov()
,
Zvuk
public static void hrajTon(double frekvencia)
Alias pre hrajTón
.
public static void hrajTón(double frekvencia, double hlasitosť)
Spustí prehrávanie tónu tvoreného jedinou harmonickou frekvenciou
so zadanou hlasitosťou (v rozsahu od 0.0
do 1.0
).
Prehrávanie tónu zastaví volanie metódy zastavTón
.
Spustením tejto metódy sa zruší prípadný plán prehrávaných tónov
vytvorený volaním metódy hrajTón(frekvencia, hlasitosť, trvanie)
.
frekvencia
– harmonická frekvencia tónu v hertzochhlasitosť
– hlasitosť prehrávaného tónu
(0.0
– 1.0
)frekvenciaNoty(int, int)
,
hrajTón(double)
,
hrajTón(double, double, double)
,
zastavTón()
,
otvorSúborNaUloženieTónu(String)
,
otvorSúborNaUloženieTónu(String, boolean)
,
zavriSúborNaUloženieTónu()
,
generátorTónov()
,
Zvuk
public static void hrajTon(double frekvencia, double hlasitosť)
Alias pre hrajTón
.
public static void hrajTón(double frekvencia, double hlasitosť, double trvanie)
Spustí prehrávanie tónu tvoreného jedinou harmonickou frekvenciou
so zadanou hlasitosťou (v rozsahu od 0.0
do 1.0
)
a s dĺžkou trvania prehrávania v sekundách. To znamená, že prehrávanie
tónu sa automaticky zastaví po uplynutí zadaného časového intervalu.
Prehrávanie tónu tiež môže byť predčasne zastavené volaním metódy
zastavTón
. Viacnásobné volanie tejto metódy
vytvorí časový plán prehrávania tónov so zadanými frekvenciami,
hlasitosťami a trvaním. Tento plán však rušia volania všetkých
ostatných metód v kategórii prehrávania tónov:
hrajTón(frekvencia)
,
hrajTón(frekvencia, hlasitosť)
a zastavTón()
.
Príklad:
Nasledujúci príklad naplánuje a prehrá zvuk, ktorého ukážka je nižšie.
for
(double
n =1.0
; n >=0.0
; n -=0.05
)Svet
.hrajTón
(100.0
+ n *25.0
, n,0.025
);
Ukážka výsledku:
frekvencia
– harmonická frekvencia tónu v hertzochhlasitosť
– hlasitosť prehrávaného tónu
(0.0
– 1.0
)trvanie
– trvanie prehrávania tónu v sekundáchfrekvenciaNoty(int, int)
,
hrajTón(double)
,
hrajTón(double, double)
,
zastavTón()
,
otvorSúborNaUloženieTónu(String)
,
otvorSúborNaUloženieTónu(String, boolean)
,
zavriSúborNaUloženieTónu()
,
generátorTónov()
,
Zvuk
public static void hrajTon(double frekvencia, double hlasitosť, double trvanie)
Alias pre hrajTón
.
public static void zastavTón()
Okamžite zastaví prehrávanie generovaného harmonického signálu a vyčistí vnútorný zoznam tónov naplánovaných na prehranie.
Príklad použitia tejto metódy nájdete v opise metódy
hrajTón(frekvencia)
.
public static void zastavTon()
Alias pre zastavTón
.
public static boolean otvorSúborNaUloženieTónu(String názov)
Umožní začať záznam všetkých generovaných tónov, ktorý sa po
zavolaní párovej metódy zavriSúborNaUloženieTónu
uloží do súboru s požadovaným názvom.
Podporované formáty súborov (určené prislúchajúcou príponou) sú:
AIFF (.aiff
, .aif
), AU (.au
),
SND (.snd
) a WAVE (.wav
). Ak zadaný súbor
jestvuje, tak vznikne výnimka (soundAlreadyExists
–
pozri opis triedy GRobotException
).
Príklad použitia nájdete v opise metódy
otvorSúborNaUloženieTónu(názov, prepísať)
.
názov
– názov súboru na uloženie generovaného tónutrue
frekvenciaNoty(int, int)
,
hrajTón(double)
,
hrajTón(double, double)
,
hrajTón(double, double, double)
,
zastavTón()
,
otvorSúborNaUloženieTónu(String, boolean)
,
zavriSúborNaUloženieTónu()
,
generátorTónov()
,
Zvuk
public static boolean otvorSuborNaUlozenieTonu(String názov)
Alias pre otvorSúborNaUloženieTónu
.
public static boolean otvorSúborNaUloženieTónu(String názov, boolean prepísať)
Umožní začať záznam všetkých generovaných tónov, ktorý sa po
zavolaní párovej metódy zavriSúborNaUloženieTónu
uloží do súboru s požadovaným názvom.
Podporované formáty súborov (určené prislúchajúcou príponou) sú:
AIFF (.aiff
, .aif
), AU (.au
),
SND (.snd
) a WAVE (.wav
). Parameter
prepísať určuje, či má byť prípadný jestvujúci súbor prepísaný,
alebo nie. (Pričom v prípade, že jestvuje, a nemá byť prepísaný,
vznikne výnimka – soundAlreadyExists
, pozri opis
triedy GRobotException
.)
Príklad:
Nasledujúci príklad vygeneruje nízky, mierne vibrujúci tón
„gongu“ (v podsate iba zvuk s plynule klesajúcou hlasitosťou)
a uloží ho do súboru gong.wav
. (Ukážka zvuku je
nižšie.)
// Návratové hodnoty metód otvorSúborNaUloženieTónu
// a zavriSúborNaUloženieTónu by sme mohli aj ignorovať.
// Celý príklad by sa vykonal aj v prípade ich zlyhania,
// len by sa nič neuložilo…
if
(Svet
.otvorSúborNaUloženieTónu
("gong.wav"
,true
)) {for
(int
i =32
; i >=0
; --i) {Svet
.hrajTón
(212.0
+16
* (i %2
), i *0.025
);Svet
.čakaj
(0.020
); }Svet
.zastavTón
();Svet
.čakaj
(0.200
);if
(!Svet
.zavriSúborNaUloženieTónu
())System
.err
.println
("Súbor zvuku sa nepodarilo zapísať."
); }else
System
.err
.println
("Súbor na zápis zvuku sa nepodarilo otvoriť."
);// Ak by sme nevykonali nasledujúci príkaz, inštancia sveta by
// zostala stále otvorená (bez okna umožňujúceho jej zavretie)…
Svet
.koniec
();
Výsledok:
názov
– názov súboru na uloženie generovaného tónuprepísať
– určuje, či sa má prípadný jestvujúci súbor prepísaťtrue
frekvenciaNoty(int, int)
,
hrajTón(double)
,
hrajTón(double, double)
,
hrajTón(double, double, double)
,
zastavTón()
,
otvorSúborNaUloženieTónu(String)
,
zavriSúborNaUloženieTónu()
,
generátorTónov()
,
Zvuk
public static boolean otvorSuborNaUlozenieTonu(String názov, boolean prepísať)
Alias pre otvorSúborNaUloženieTónu
.
public static boolean zavriSúborNaUloženieTónu()
Ukončí záznam generovaných tónov, ktorý bol začatý volaním
niektorej verzie metódy otvorSúborNaUloženieTónu
.
true
frekvenciaNoty(int, int)
,
hrajTón(double)
,
hrajTón(double, double)
,
hrajTón(double, double, double)
,
zastavTón()
,
otvorSúborNaUloženieTónu(String)
,
otvorSúborNaUloženieTónu(String, boolean)
,
generátorTónov()
,
Zvuk
public static boolean zavriSuborNaUlozenieTonu()
Alias pre zavriSúborNaUloženieTónu
.
public static knižnica.podpora.BeepChannel generátorTónov()
Táto metóda sprostredkúva prístup k vnútornej inštancii
generátora tónov (BeepChannel
). Vlastnosti tohto
generátora nie sú opísané v tejto dokumentácii, ale dajú sa
naštudovať v angličtine z komentárov uvedených priamo v triedach BeepChannel
a Channel
. Aspoň jednou
z nich sa zaoberá príklad uvedený nižšie.
Príklad:
Jednou zo základných vlastností generátora je úprava hladkosti prechodov medzi generovanými frekvenciami tónov (smoothness).
Tento príklad ukazuje rozdiel medzi dvomi rôznymi hodnotami hladkosti. Kód používa primitívny generátor pseudonáhodných čísiel, ktorý na vygenerovanie postupnosti frekvencií, ktoré majú byť prehraté používa jednoduché prepočty s prvočíslami. Aj pri zbežnom pohľade na kód by malo byť zjavné, že v obidvoch prípadoch budú „vygenerované“ (vypočítané) a prehrané rovnaké pseudonáhodné sekvencie frekvencií. Rozdiel je len v hladkosti použitej pri generovaní.
Prvé prehrávanie sekvencie je vykonané s hladkosťou 1000 (čo je predvolená hodnota) a druhé s hladkosťou 1 (čo je približne najmenšia dovolená hodnota hladkosti). Rozdiel si môžete vypočuť v ukážkach obidvoch prípadov, ktoré sú zverejnené nižšie.
int
n, n1, n2, n3;Svet
.generátorTónov
().setSmoothness(1000.0
); n1 =3
; n2 =5
; n3 =7
;for
(n =1
; n <=100
; ++n) {Svet
.hrajTón
((n1 + n2 + n3) *100
);Svet
.čakaj
(0.020
); n1 +=7
; n1 %=11
; n2 +=11
; n2 %=13
; n3 +=13
; n3 %=17
; }Svet
.zastavTón
();Svet
.čakaj
(0.200
);Svet
.generátorTónov
().setSmoothness(1.0
); n1 =3
; n2 =5
; n3 =7
;for
(n =1
; n <=100
; ++n) {Svet
.hrajTón
((n1 + n2 + n3) *100
);Svet
.čakaj
(0.020
); n1 +=7
; n1 %=11
; n2 +=11
; n2 %=13
; n3 +=13
; n3 %=17
; }Svet
.zastavTón
();Svet
.čakaj
(0.200
);
Ukážky vygenerovaných sekvencií:
public static knižnica.podpora.BeepChannel generatorTonov()
Alias pre generátorTónov
.
public static void spustiČasovač(double čas)
Spustí časovač so zadaným časovým intervalom v sekundách. Pri viacnásobnom volaní tejto metódy je časovač vždy zastavený (to aj vtedy, keď je zadaný rovnaký časový interval ako naposledy) a opätovne spustený s novým časovým intervalom.
Ďalšie podrobnosti o časovači sú uvedené v opise metódy
spustiČasovač()
.
č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č()
,
násobTiky(int)
,
tik()
public static void spustiCasovac(double čas)
Alias pre spustiČasovač
.
public 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). (Štyridsať milisekúnd zodpovedá snímkovacej
frekvencii 25 snímok za sekundu.) Viacnásobné volanie tejto metódy
po spustení časovača je (na rozdiel od verzie spustiČasovač(čas)
) ignorované.
Časovač spúšťa v zadanom časovom intervale metódy (reakcie)
prislúchajúce udalostiam súvisiacim s časom, čo je reakcia
ObsluhaUdalostí
.
tik()
, v ktorej je v prípade potreby možné
s výhodou získať objekt s informáciami o poslednej udalosti
časovača prostredníctvom metódy ÚdajeUdalostí
.
tik()
.
Ďalšími dvomi najčastejšie spúšťanými reakciami sú robotova aktivita
()
a pasivita
()
, podľa toho, či je
robot aktívny alebo pasívny, ale okrem nich môžu byť spúšťané
rôzne ďalšie reakcie, ktoré v prostredí programovacieho rámca
vznikajú ako zastavenie,
dosiahnutie cieľa a mnoho
iných, z ktorých žiadna bez aktívneho časovača nemôže fungovať.
Práve z toho dôvodu mnoho metód programovacieho rámca spúšťa
časovač automaticky, čo sa však vždy dá potlačiť. Pozri napríklad:
rýchlosť
, uhlováRýchlosť
…
Pozor! Časovač môže byť uspatý. Vtedy všetky metódy, ktoré menia jeho parametre fungujú, ale samotný časovač nereaguje – správa sa, ako keby negeneroval tiky (ale v skutočnosti ich len vynecháva). Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
public static void spustiCasovac()
Alias pre spustiČasovač
.
public static void odložČasovač(double čas)
Odloží časovač o zadaný časový interval v sekundách. Ak časovač
doteraz nebol spustený, tak funguje rovnako ako metóda spustiČasovač
, inak iba odloží najbližšie
spustenie časovača o zadaný časový údaj.
Pozor! Časovač môže byť uspatý. Vtedy všetky metódy, ktoré menia jeho parametre fungujú, ale samotný časovač nereaguje – správa sa, ako keby negeneroval tiky (ale v skutočnosti ich len vynecháva). Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
čas
– časový interval v sekundách; desatinná časť je
zaokrúhlená na milisekundyspustiČasovač(double)
,
časovačAktívny()
,
intervalČasovača()
,
zastavČasovač()
,
násobTiky(int)
,
uspiČasovač()
,
tik()
public static void odlozCasovac(double čas)
Alias pre odložČasovač
.
public static boolean časovačAktívny()
Zistí, či je časovač aktívny.
Pozor! Časovač môže byť uspatý. Vtedy všetky metódy, ktoré menia jeho parametre fungujú, ale samotný časovač nereaguje – správa sa, ako keby negeneroval tiky (ale v skutočnosti ich len vynecháva). Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
true
/false
– podľa toho, či je
časovač aktívny, alebo niespustiČasovač(double)
,
spustiČasovač()
,
odložČasovač(double)
,
intervalČasovača()
,
zastavČasovač()
,
násobTiky(int)
,
uspiČasovač()
,
tik()
public static boolean casovacAktivny()
Alias pre časovačAktívny
.
public static boolean časovačSpustený()
Alias pre časovačAktívny
.
public static boolean casovacSpusteny()
Alias pre časovačAktívny
.
public static double intervalČasovača()
Vráti časový interval časovača v sekundách.
Pozor! Časovač môže byť uspatý. Vtedy všetky metódy, ktoré menia jeho parametre fungujú, ale samotný časovač nereaguje – správa sa, ako keby negeneroval tiky (ale v skutočnosti ich len vynecháva). Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
spustiČasovač(double)
,
spustiČasovač()
,
odložČasovač(double)
,
časovačAktívny()
,
zastavČasovač()
,
násobTiky(int)
,
uspiČasovač()
,
tik()
public static double intervalCasovaca()
Alias pre intervalČasovača
.
public static void zastavČasovač()
Zastaví časovač, ktorý bol spustený metódou spustiČasovač
.
Pozor! Časovač môže byť uspatý. Vtedy všetky metódy, ktoré menia jeho parametre fungujú, ale samotný časovač nereaguje – správa sa, ako keby negeneroval tiky (ale v skutočnosti ich len vynecháva). Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
public static void zastavCasovac()
Alias pre zastavČasovač
.
public static int násobTiky()
Zistí aktuálnu hodnotu násobičky tikov časovača. Pozri:
násobTiky(počet)
.
Pozor! Časovač môže byť uspatý. Vtedy všetky metódy, ktoré menia jeho parametre fungujú, ale samotný časovač nereaguje – správa sa, ako keby negeneroval tiky (ale v skutočnosti ich len vynecháva). Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
násobTiky(int)
,
čísloTiku()
,
spustiČasovač(double)
,
uspiČasovač()
,
tik()
public static void násobTiky(int počet)
Upraví hodnotu násobičky tikov časovača. Ak je časovač zapnutý, tak sa zmenou tejto hodnoty dá upraviť počet cyklov rôznych operácií vykonaných v rámci jedného tiku. Ide o množstvo rôznych záležitostí ako sú aktivity alebo aj pasitivy robotov, kofeín, samotné reakcie na tik, prípadne ďalšie.
Príklad: Hodnota násobiča 2
spôsobí, že všetky
aktivity vykonávané v rámci jedného tiku časovača budú vykonané pri
každom tiku dvakrát za sebou. Takže ak je časovač využívaný
napríklad na riadenie (regulovanie) simulácie, tak sa simulácia
zdanlivo (to totiž závisí od výpočtových nárokov a výpočtového
výkonu) urýchli (na dvojnásobok).
Upozornenie: Príliš veľké hodnoty násobiča preťažia systém.
Pozor! Časovač môže byť uspatý. Vtedy všetky metódy, ktoré menia jeho parametre fungujú, ale samotný časovač nereaguje – správa sa, ako keby negeneroval tiky (ale v skutočnosti ich len vynecháva). Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
počet
– nová hodnota násobičky tikovnásobTiky()
,
čísloTiku()
,
spustiČasovač(double)
,
tik()
public static int nasobTiky()
Alias pre násobTiky
.
public static void nasobTiky(int násobTiky)
Alias pre násobTiky
.
public static int čísloTiku()
Overí, ktorý násobok tiku je práve vykonávaný. Toto overenie má
zmysel vykonávať len v rámci reakcií na tik. Pozri aj: násobTiky(počet)
.
Pozor! Časovač môže byť uspatý. Vtedy všetky metódy, ktoré menia jeho parametre fungujú, ale samotný časovač nereaguje – správa sa, ako keby negeneroval tiky (ale v skutočnosti ich len vynecháva). Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
násobTiky()
,
násobTiky(int)
,
spustiČasovač(double)
,
uspiČasovač()
,
tik()
public static int cisloTiku()
Alias pre čísloTiku
.
public static boolean časovačSpí()
Zistí, či je časovač v „režime spánku.“ Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
časovačSpí()
,
uspiČasovač()
,
prebuďČasovač()
,
spustiČasovač()
,
časovačAktívny()
,
násobTiky(int)
,
tik()
public static boolean casovacSpi()
Alias pre časovačSpí
.
public static void uspiČasovač()
Uvedie časovač do „režimu spánku.“ Keď časovač spí, preskakuje tiky, čiže sa zdá, ako keby nefungoval. Tento režim je veľmi užitočné zapnúť počas inicializácie aplikácie. Zabráni sa tým neželanému predčasnému spúšťaniu časovača (respektíve vykonávaniu jeho tikov aj keby bol spustený) v období, keď ešte nie sú všetky objekty korektne inicializované, čo by s vysokou pravdepodobnosťou viedlo ku vzniku chýb.
Príklad:
public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
("MojaAplikácia.cfg"
);try
{// Ak by v tomto bloku vznikla chyba, okno aplikácie bude aj tak
// zobrazené vďaka bloku finally. Používateľ ho vďaka tomu bude môcť
// aspoň korektne zavrieť.
Svet
.skry
();Svet
.nekresli
();Svet
.uspiČasovač
();new
MojaAplikácia();Svet
.kresli
();Svet
.prebuďČasovač
();Svet
.spustiČasovač
();// (Aj keď už je pravdepodobne spustený.)
}finally
{Svet
.zobraz
(); } }
časovačSpí()
,
uspiČasovač()
,
prebuďČasovač()
,
spustiČasovač()
,
časovačAktívny()
,
násobTiky(int)
,
tik()
public static void uspiCasovac()
Alias pre uspiČasovač
.
public static void prebuďČasovač()
Prebudí časovač z „režimu spánku.“ Podrobnosti o užitočnosti spánku časovača nájdete v opise metódy uspiČasovač.
časovačSpí()
,
uspiČasovač()
,
prebuďČasovač()
,
spustiČasovač()
,
časovačAktívny()
,
násobTiky(int)
,
tik()
public static void prebudCasovac()
Alias pre prebuďČasovač
.
public static void zobuďČasovač()
Alias pre prebuďČasovač
.
public static void zobudCasovac()
Alias pre prebuďČasovač
.
public static void tik()
Simuluje vykonanie reakcie na tik časovača. Vykonanie tejto metódy má zmysel mimo reťaze udalostí vykonávaných v rámci tiku časovača. Dá sa použiť napríklad na krokovanie tikov pri zastavenom časovači.
Upozornenie: Nezamieňajte si túto metódu s reakciami na časovač alebo údajmi udalosti časovača.
Pozor! Ak je časovač uspatý, tak volanie tejto metódy nemá žiadny efekt.
public static void čakaj(double početSekúnd)
Pozdrží vykonávanie programu na zadaný počet sekúnd.
Táto metóda v skutočnosti uspí aktuálne (pravdepodobne hlavné) vlákno aplikácie. Jej použitie musí byť vždy dobre zvážené. Môže nájsť využitie napríklad pri odľahčení procesora spomalením programu (výpočtu) pri výpočtovo náročných operáciách, treba však rátať so značným znížením výkonu. Môže byť tiež použitá na pozastavenie synchrónne vykonávaného programu (t. j. programu v jednom vlákne, ktorého činnosť sa končí prakticky okamžite po ukončení hlavnej metódy, čo je hlavný rozdiel oproti asynchrónne vykonávaným, čiže udalosťami riadeným, programom/aplikáciám).
(Pozri aj opisy ostatných metód na čakanie, ktorých využitie
je, s výnimkou metódy čakajNaVstup
, možné
len v hlavnom vlákne, len pri synchrónnej činnosti programu.)
početSekúnd
– počet sekúnd, na ktorý sa má vykonávanie
programu zastaviťčakajNaVstup()
,
čakajNaKláves()
,
čakajNaKlik()
,
čakajNaKlikAleboKláves()
public static void cakaj(double početSekúnd)
Alias pre čakaj
.
public static void spustiČasomieru()
Táto metóda „spustí“ časomieru. V skutočnosti metóda pracuje
tak, že do vnútorného atribútu uloží aktuálny čas virtuálneho
stroja v nanosekundách, ktorý sa neskôr použije (metódou zastavČasomieru
) na vypočítanie trvania
merania (v sekundách). Príklad použitia je v opise metódy zastavČasomieru
.
zastavČasomieru()
public static void spustiCasomieru()
Alias pre spustiČasomieru
.
public static double zastavČasomieru()
Táto metóda „zastaví“ časomieru a vráti výsledok merania
v sekundách. V skutočnosti metóda pracuje tak, že odčíta od
aktuálneho času virtuálneho stroja v nanosekundách čas, ktorý bol
zapamätaný pri spustení merania metódou spustiČasomieru
a výsledok prepočíta na reálne číslo vyjadrujúce
čas v sekundách (s presnosťou, ktorá by nemala byť nižšia než
tri desatinné miesta – teoreticky by mohla dosahovať presnosť
deväť desatinných miest (presnosť nanosekúnd), avšak skutočná
presnosť je nižšia).
Príklad:
Svet
.spustiČasomieru
();// Časovo náročná operácia, ktorej trvanie chceme odmerať…
double
čas =Svet
.zastavČasomieru
();// Výsledok merania je uložený v premennej „čas“
Svet
.vypíšRiadok
("Výsledný čas: "
, čas,"s"
);
Výsledok:
Výsledkom môže byť napríklad takýto výpis:
Výsledný čas: 6,475 s
spustiČasomieru()
public static double zastavCasomieru()
Alias pre zastavČasomieru
.
public static final double lineárnaInterpolácia(double a, double b, double t)
Táto metóda slúži na parametrické vypočítanie hodnoty ležiacej medzi dvomi zadanými hodnotami.
Okrem lineárnej interpolácie podporuje rámec výpočet kvadratickej a kubickej interpolácie a aproximácie:
Hlavný rozdiel medzi interpoláciou a aproximáciou je, že (zjednodušene povedané) interpolácia prechádza všetkými bodmi, pomocou ktorých počíta „chýbajúce“ hodnoty a aproximácia vychádza z prvého bodu, vchádza do posledného bodu a hodnotami ostantných bodov sa iba riadi – môže, ale nemusí nimi prechádzať (zväčša ani neprechádza). Lineárnou aproximáciou sa tento rámec nezaoberá a všetky ostatné interpolácie a aproximácie počítajú hodnoty len medzi minimálnymi počtami vstupných hodnôt.
Ani jedna z metód neobmedzuje hodnoty parametra t, ktorý (ak hovoríme o interpolácii a aproximácii) by síce mal nadobúdať hodnoty v rozsahu od 0,0 do 1,0 (vrátane), ale ak tento rozsah prekročí, môžu byť všetky metódy (vo vhodnej miere) využité aj na extrapoláciu hodnôt mimo tohto intervalu. Ani jeden z algoritmov nepoužíva delenie, takže hodnota parametra môže byť ľubovoľná, no treba rátať s tým, že po príliš veľkom prekročení intervalu už nemôžeme hovoriť ani o extrapolácii.
S pomocou lineárnej interpolácie je možné získať ľubovoľnú
„priamočiaru“ hodnotu ležiacu medzi hodnotami a
a b
a to 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.
Poznámka: Podmieňovací spôsob („by mali“)
použitý výššie v súvislosti hodnotou parametra t
bol
použitý úmyselne. Zamerajme sa na príklad kreslenia bodov (podľa
súradníc vypočítaných pomocou lineárnej interpolácie) ležiacich
na úsečke s počiatočným bodom A[x1, y1]
a koncovým bodom B[x2, y2]. Ak sa hodnota
parametra t
bude nachádzať mimo povoleného (resp.
odporúčaného) rozashu ⟨0; 1⟩, tak vypočítame bod ležiaci na priamke
určenej hraničnými bodmi A a B, ktorý neleží na úsečke AB.
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
(-160
, -80
); body[1
] =new
Bod
(130
,60
);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
); }
Výsledok:
Výsledok príkladu
lineárnej interpolácie.
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
kvadratickáInterpolácia(double, double, double, double)
,
kubickáInterpolácia(double, double, double, double, double)
,
kvadratickáAproximácia(double, double, double, double)
,
kubickáAproximácia(double, double, double, double, double)
public static final double linearnaInterpolacia(double a, double b, double t)
Alias pre lineárnaInterpolácia
.
public static final double kvadratickáInterpolácia(double a, double b, double c, double t)
Kvadratická interpolácia je počítaná z troch vstupných hodnôt (a parametra).
Pozri aj kvadratickú aproximáciu a zhrnutie rozdielu medzi interpoláciou a aproximáciou v opise metódy počítajúcej lineárnu interpoláciu.
Porovnanie kvadratickej interpolácie (body
rôznych farieb tvoriace „vonkajšiu obálku“ lomenej čiary)
a aproximácie (modré body).
Ukážka použitia na interpolovanie dvoch súradníc:
// …
for
(double
t =0.0
; t <=1.05
; t +=0.05
) {double
x =Svet
.kvadratickáInterpolácia
(x1, x2, x3, t);double
y =Svet
.kvadratickáInterpolácia
(y1, y2, y3, t);// …
}
a
– prvá hodnota určujúca kvadratickú interpoláciub
– druhá hodnota určujúca kvadratickú interpoláciuc
– tretia hodnota určujúca kvadratickú interpoláciut
– parameter interpolácie – mal by ležať v rozmedzí hodnôt
0.0
až 1.0
lineárnaInterpolácia(double, double, double)
,
kubickáInterpolácia(double, double, double, double, double)
,
kvadratickáAproximácia(double, double, double, double)
,
kubickáAproximácia(double, double, double, double, double)
public static final double kvadratickaInterpolacia(double a, double b, double c, double t)
Alias pre kvadratickáInterpolácia
.
public static final double kubickáInterpolácia(double v0, double v1, double v2, double v3, double t)
Kubická interpolácia je počítaná zo štyroch vstupných hodnôt (a parametra).
Pozri aj kubickú aproximáciu a zhrnutie rozdielu medzi interpoláciou a aproximáciou v opise metódy počítajúcej lineárnu interpoláciu.
Body vypočítané s použitím dvojice
kubických interpolácií.
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)
,
kvadratickáInterpolácia(double, double, double, double)
,
kvadratickáAproximácia(double, double, double, double)
,
kubickáAproximácia(double, double, double, double, double)
public static final double kubickaInterpolacia(double v0, double v1, double v2, double v3, double t)
Alias pre kubickáInterpolácia
.
public static final double kvadratickáAproximácia(double a, double b, double c, double t)
Kvadratická aproximácia je počítaná z troch vstupných hodnôt (a parametra). Ak túto metódu použijeme na dve série vstupných hodnôt (dve súradnice), tak posúvaním parametra t získame polohy bodov na kvadratickej (v tomto prípade bézierovej) krivke.
Pozri aj kvadratickú interpoláciu a zhrnutie rozdielu medzi interpoláciou a aproximáciou v opise metódy počítajúcej lineárnu interpoláciu.
Príklad:
Nasledujúce dva riadky kódu vypočítajú súradnice bodu ([x, y]) na kvadratickej (bézierovej) krivke v mieste, kde je hodnota parametra aproximácie (t) rovná 0,5:
x =Svet
.kvadratickáAproximácia
(x1, x2, x3,0.5
); y =Svet
.kvadratickáAproximácia
(y1, y2, y3,0.5
);
Ukážky možných výsledkov:
Ukážky znázorňujú krivky kreslené medzi bodmi A a B (so súradnicami x1, y1 a x3, y3), ktorých tvar upravuje poloha bodu C (so súradnicami x2, y2). Poloha bodu V (so súradnicami x, y) v mieste hodnoty parametra aproximácie t = 0,5, je znázornená zelenou farbou. Pod každým obrázkom je výpis všetkých hodnôt vzťahujúcich sa k obrázku.
Hodnoty súradníc kľúčových bodov: x1 = −100,0; y1 = −100,0 Vypočítané hodnoty súradníc v mieste parametra t = 0,5: x = 0,0; y = 25,0 |
Hodnoty súradníc kľúčových bodov: x1 = −100,0; y1 = −100,0 Vypočítané hodnoty súradníc v mieste parametra t = 0,5: x = 0,0; y = 50,0 | |
Hodnoty súradníc kľúčových bodov: x1 = −100,0; y1 = −100,0 Vypočítané hodnoty súradníc v mieste parametra t = 0,5: x = 50,0; y = 0,0 |
Hodnoty súradníc kľúčových bodov: x1 = −100,0; y1 = 100,0 Vypočítané hodnoty súradníc v mieste parametra t = 0,5: x = 0,0; y = 0,0 |
a
– prvá hodnota určujúca kvadratickú aproximáciub
– druhá hodnota určujúca kvadratickú aproximáciuc
– tretia hodnota určujúca kvadratickú aproximáciut
– parameter aproximácie – mal by ležať v rozmedzí hodnôt
0.0
až 1.0
lineárnaInterpolácia(double, double, double)
,
kvadratickáInterpolácia(double, double, double, double)
,
kubickáInterpolácia(double, double, double, double, double)
,
kubickáAproximácia(double, double, double, double, double)
public static final double kvadratickaAproximacia(double a, double b, double c, double t)
Alias pre kvadratickáAproximácia
.
public static final double kubickáAproximácia(double v0, double v1, double v2, double v3, double t)
Kubická aproximácia je počítaná zo štyroch vstupných hodnôt
(a parametra). Význam parametrov sa lepšie vysvetľuje na príklade
kreslenia krivky s použitím tejto aproximácie. Aproximujme dvojice
súradníc štyroch kľúčových bodov ([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 aproximácie sú body ležiace na
kubickej krivke.
Pozri aj kubickú interpoláciu a zhrnutie rozdielu medzi interpoláciou a aproximáciou v opise metódy počítajúcej lineárnu interpoláciu.
Body vypočítané s použitím kubickej
aproximá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 aproximácie (po preložení a spustení príkladu je klikaním a posúvaním bodov možné ovplyvňovať kresbu).
import
knižnica.*;public
class
TestAproximá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
TestAproximá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áAproximácia
(body[0
].polohaX
(), body[1
].polohaX
(), body[2
].polohaX
(), body[3
].polohaX
(), t);double
y =Svet
.kubickáAproximá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
TestAproximácie(); } }
v0
– prvá hodnota určujúca kubickú aproximáciuv1
– druhá hodnota určujúca kubickú aproximáciuv2
– tretia hodnota určujúca kubickú aproximáciuv3
– štvrtá hodnota určujúca kubickú aproximáciut
– parameter aproximácie – mal by ležať v rozmedzí hodnôt
0.0
až 1.0
lineárnaInterpolácia(double, double, double)
,
kvadratickáInterpolácia(double, double, double, double)
,
kubickáInterpolácia(double, double, double, double, double)
,
kvadratickáAproximácia(double, double, double, double)
public static final double kubickaAproximacia(double v0, double v1, double v2, double v3, double t)
Alias pre kubickáAproximácia
.
public static double prepočítajX(double x)
Prepočíta zadanú x-ovú (horizontálnu) súradnicu zo súradnicového priestoru programovacieho rámca GRobot do súradnicového priestoru používaného v oblasti 2D počítačovej grafiky.
Poznámka: Programovací rámec ako
prostriedok primárne vyvíjaný na účely výučby pracuje s „klasickým“
karteziánskym súradnicovým systémom, pri používaní ktorého je
počiatok súradnicovej sústavy („stred“ – bod so súradnicami [0, 0])
obvykle umiestňovaný do stredu kresliacej plochy, horizontálna
súradnica (x-ová) rastie zľava doprava a vertikálna súradnica
(y-ová) rastie zospodu nahor. Naproti tomu, v 2D počítačovej grafike
je bežné umiestnenie počiatku súradnicovej sústavy v ľavom hornom
rohu kresliacej plochy (obrazovky) a z toho dôvodu býva rast
vertikálnej súradnice prevrátený – súradnica narastá smerom zhora
nadol. (Tento rozdiel je diskutovaný na viacerých miestach tejto
dokumentácie. Pozri napríklad opis metódy cesta
.)
x
– hodnota súradnice x v súradnicovom priestore
programovacieho rámca GRobotpublic static double prepocitajX(double x)
Alias pre prepočítajX
.
public static double prepočítajY(double y)
Prepočíta zadanú y-ovú (vertikálnu) súradnicu zo súradnicového priestoru programovacieho rámca GRobot do súradnicového priestoru používaného v oblasti 2D počítačovej grafiky.
Poznámka: Programovací rámec ako
prostriedok primárne vyvíjaný na účely výučby pracuje s „klasickým“
karteziánskym súradnicovým systémom, pri používaní ktorého je
počiatok súradnicovej sústavy („stred“ – bod so súradnicami [0, 0])
obvykle umiestňovaný do stredu kresliacej plochy, horizontálna
súradnica (x-ová) rastie zľava doprava a vertikálna súradnica
(y-ová) rastie zospodu nahor. Naproti tomu, v 2D počítačovej grafike
je bežné umiestnenie počiatku súradnicovej sústavy v ľavom hornom
rohu kresliacej plochy (obrazovky) a z toho dôvodu býva rast
vertikálnej súradnice prevrátený – súradnica narastá smerom zhora
nadol. (Tento rozdiel je diskutovaný na viacerých miestach tejto
dokumentácie. Pozri napríklad opis metódy cesta
.)
y
– hodnota súradnice y v súradnicovom priestore
programovacieho rámca GRobotpublic static double prepocitajY(double y)
Alias pre prepočítajY
.
public static double prepočítajSpäťX(double x)
Prepočíta zadanú x-ovú (horizontálnu) súradnicu zo súradnicového priestoru používaného v oblasti 2D počítačovej grafiky do súradnicového priestoru programovacieho rámca GRobot.
Poznámka: Programovací rámec ako
prostriedok primárne vyvíjaný na účely výučby pracuje s „klasickým“
karteziánskym súradnicovým systémom, pri používaní ktorého je
počiatok súradnicovej sústavy („stred“ – bod so súradnicami [0, 0])
obvykle umiestňovaný do stredu kresliacej plochy, horizontálna
súradnica (x-ová) rastie zľava doprava a vertikálna súradnica
(y-ová) rastie zospodu nahor. Naproti tomu, v 2D počítačovej grafike
je bežné umiestnenie počiatku súradnicovej sústavy v ľavom hornom
rohu kresliacej plochy (obrazovky) a z toho dôvodu býva rast
vertikálnej súradnice prevrátený – súradnica narastá smerom zhora
nadol. (Tento rozdiel je diskutovaný na viacerých miestach tejto
dokumentácie. Pozri napríklad opis metódy cesta
.)
x
– hodnota súradnice v súradnicovom priestore počítačovej
grafiky (to jest v tom súradnicovom priestore, ktorý predvolene
používa aj jazyk Java pri práci s 2D grafikou)public static double prepocitajSpatX(double x)
Alias pre prepočítajSpäťX
.
public static double prepočítajSpäťY(double y)
Prepočíta zadanú y-ovú (vertikálnu) súradnicu zo súradnicového priestoru používaného v oblasti 2D počítačovej grafiky do súradnicového priestoru programovacieho rámca GRobot.
Poznámka: Programovací rámec ako
prostriedok primárne vyvíjaný na účely výučby pracuje s „klasickým“
karteziánskym súradnicovým systémom, pri používaní ktorého je
počiatok súradnicovej sústavy („stred“ – bod so súradnicami [0, 0])
obvykle umiestňovaný do stredu kresliacej plochy, horizontálna
súradnica (x-ová) rastie zľava doprava a vertikálna súradnica
(y-ová) rastie zospodu nahor. Naproti tomu, v 2D počítačovej grafike
je bežné umiestnenie počiatku súradnicovej sústavy v ľavom hornom
rohu kresliacej plochy (obrazovky) a z toho dôvodu býva rast
vertikálnej súradnice prevrátený – súradnica narastá smerom zhora
nadol. (Tento rozdiel je diskutovaný na viacerých miestach tejto
dokumentácie. Pozri napríklad opis metódy cesta
.)
y
– hodnota súradnice v súradnicovom priestore počítačovej
grafiky (to jest v tom súradnicovom priestore, ktorý predvolene
používa aj jazyk Java pri práci s 2D grafikou)public static double prepocitajSpatY(double y)
Alias pre prepočítajSpäťY
.
public static final 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.
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 final double rotovaneX(double x, double y, double uhol)
Alias pre rotovanéX
.
public static final 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.
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 final double rotovaneY(double x, double y, double uhol)
Alias pre rotovanéY
.
public static final Bod priesečníkÚsečiek(double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)
Hľadá priesečník dvoch úsečiek AB a CD. Úsečky sú určené
súradnicami počiatočných a koncových bodov – AB: A[x0, y0],
B[x1, y1] a CD: C[x2, y2], D[x3, y3]. Ak priesečník jestvuje,
tak metóda vráti inštanciu triedy Bod
so súradnicami
priesečníka, inak metóda vráti hodnotu null
.
Ukážka použitia:
// Keď máme k dispozícii polohy bodov, môžeme využiť inú verziu tejto metódy:
final
Bod
b1 =new
Bod
(-120
, -40
);final
Bod
b2 =new
Bod
(110
,70
);final
Bod
b3 =new
Bod
(-120
,110
);final
Bod
b4 =new
Bod
(110
, -110
);Bod
p =Svet
.priesečníkÚsečiek
(b1, b2, b3, b4);
x0
– x-ová súradnica bodu Ay0
– y-ová súradnica bodu Ax1
– x-ová súradnica bodu By1
– y-ová súradnica bodu Bx2
– x-ová súradnica bodu Cy2
– y-ová súradnica bodu Cx3
– x-ová súradnica bodu Dy3
– y-ová súradnica bodu DBod
alebo
null
public static final Bod priesecnikUseciek(double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)
Alias pre priesečníkÚsečiek
.
public static final Bod priesečníkÚsečiek(Poloha A, Poloha B, Poloha C, Poloha D)
Hľadá priesečník dvoch úsečiek AB a CD. Úsečky sú určené
polohami bodov v štyroch parametroch. Ak priesečník jestvuje,
tak metóda vráti inštanciu triedy Bod
so súradnicami
priesečníka, inak metóda vráti hodnotu null
.
A
– poloha bodu AB
– poloha bodu BC
– poloha bodu CD
– poloha bodu DBod
alebo
null
public static final Bod priesecnikUseciek(Poloha A, Poloha B, Poloha C, Poloha D)
Alias pre priesečníkÚsečiek
.
public static final Bod priesečníkÚsečiek(Poloha[] poleBodov)
Hľadá priesečník dvoch úsečiek AB a CD. Úsečky sú určené
polohami bodov v poli parametra, ktoré musí obsahovať aspoň štyri
prvky. Ak priesečník jestvuje, tak metóda vráti inštanciu triedy
Bod
so súradnicami priesečníka, inak metóda vráti
hodnotu null
.
poleBodov
– polohy bodov úsečiek AB a CDBod
alebo
null
public static final Bod priesecnikUseciek(Poloha[] poleBodov)
Alias pre priesečníkÚsečiek
.
public static final Bod priesečníkPriamkyAÚsečky(double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)
Hľadá priesečník priamky AB a úsečky CD. Obidve čiary sú
určené súradnicami dvoch bodov – AB: A[x0, y0], B[x1, y1] a CD:
C[x2, y2], D[x3, y3], pričom pre úsečku ide zároveň o ohraničujúce
body. Ak priesečník jestvuje, tak metóda vráti inštanciu triedy
Bod
so súradnicami priesečníka, inak metóda vráti
hodnotu null
.
x0
– x-ová súradnica bodu Ay0
– y-ová súradnica bodu Ax1
– x-ová súradnica bodu By1
– y-ová súradnica bodu Bx2
– x-ová súradnica bodu Cy2
– y-ová súradnica bodu Cx3
– x-ová súradnica bodu Dy3
– y-ová súradnica bodu DBod
alebo
null
public static final Bod priesecnikPriamkyAUsecky(double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)
Alias pre priesečníkPriamkyAÚsečky
.
public static final Bod priesečníkPriamkyAÚsečky(Poloha A, Poloha B, Poloha C, Poloha D)
Hľadá priesečník priamky AB a úsečky CD. Čiary sú určené
polohami bodov v štyroch parametroch. Ak priesečník jestvuje,
tak metóda vráti inštanciu triedy Bod
so súradnicami
priesečníka, inak metóda vráti hodnotu null
.
A
– poloha bodu AB
– poloha bodu BC
– poloha bodu CD
– poloha bodu DBod
alebo
null
public static final Bod priesecnikPriamkyAUsecky(Poloha A, Poloha B, Poloha C, Poloha D)
Alias pre priesečníkPriamkyAÚsečky
.
public static final Bod priesečníkPriamkyAÚsečky(Poloha[] poleBodov)
Hľadá priesečník priamky AB a úsečky CD. Čiary sú určené
polohami bodov v poli parametra, ktoré musí obsahovať aspoň štyri
prvky. Ak priesečník jestvuje, tak metóda vráti inštanciu triedy
Bod
so súradnicami priesečníka, inak metóda vráti
hodnotu null
.
poleBodov
– polohy bodov patriacich čiaram AB a CDBod
alebo
null
public static final Bod priesecnikPriamkyAUsecky(Poloha[] poleBodov)
Alias pre priesečníkPriamkyAÚsečky
.
public static final Bod priesečníkPriamok(double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)
Hľadá priesečník dvoch priamok určených bodmi A, B a C, D.
Ak priesečník jestvuje, tak metóda vráti inštanciu triedy
Bod
so súradnicami priesečníka, inak metóda vráti
hodnotu null
.
Ukážka použitia:
// Keď máme k dispozícii polohy bodov, môžeme využiť inú verziu tejto metódy:
final
Bod
b1 =new
Bod
(-80
, -100
);final
Bod
b2 =new
Bod
(90
,100
);final
Bod
b3 =new
Bod
(-80
,100
);final
Bod
b4 =new
Bod
(90
, -110
);Bod
p =Svet
.priesečníkPriamok
(b1, b2, b3, b4);
Hľadanie priesečníka priamok je použité aj v príklade
uvedenom v opise metódy mimoHraníc
.
x0
– x-ová súradnica bodu Ay0
– y-ová súradnica bodu Ax1
– x-ová súradnica bodu By1
– y-ová súradnica bodu Bx2
– x-ová súradnica bodu Cy2
– y-ová súradnica bodu Cx3
– x-ová súradnica bodu Dy3
– y-ová súradnica bodu DBod
alebo
null
public static final Bod priesecnikPriamok(double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)
Alias pre priesečníkPriamok
.
public static final Bod priesečníkPriamok(Poloha A, Poloha B, Poloha C, Poloha D)
Hľadá priesečník dvoch priamok určených bodmi A, B a C, D.
Ak priesečník jestvuje, tak metóda vráti inštanciu triedy
Bod
so súradnicami priesečníka, inak metóda vráti
hodnotu null
.
Hľadanie priesečníka priamok je použité aj v príklade
uvedenom v opise metódy mimoHraníc
.
A
– poloha bodu AB
– poloha bodu BC
– poloha bodu CD
– poloha bodu DBod
alebo
null
public static final Bod priesecnikPriamok(Poloha A, Poloha B, Poloha C, Poloha D)
Alias pre priesečníkPriamok
.
public static final Bod priesečníkPriamok(Poloha[] poleBodov)
Hľadá priesečník dvoch priamok určených polohami bodov v poli
parametra. Pole musí obsahovať aspoň štyri prvky. Ak priesečník
jestvuje, tak metóda vráti inštanciu triedy Bod
so
súradnicami priesečníka, inak metóda vráti hodnotu
null
.
Hľadanie priesečníka priamok je použité aj v príklade
uvedenom v opise metódy mimoHraníc
.
poleBodov
– polohy bodov určujúce priamkyBod
alebo
null
public static final Bod priesecnikPriamok(Poloha[] poleBodov)
Alias pre priesečníkPriamok
.
public static final Bod[] priesečníkyKružníc(double x1, double y1, double r1, double x2, double y2, double r2)
Hľadá priesečníky dvoch kružníc určených súradnicami ich
stredov S1[x1, y1] a S2[x2, y2] a polomermi r1 a r2. Ak jestvuje
aspoň jeden priesečník, tak metóda vráti jedno- alebo dvojprvkové
pole bodov určujúcich súradnice priesečníkov. Ak nejestvuje ani
jeden priesečník, tak metóda vráti hodnotu null
.
Na obrázku sú štyri kružnice. Dve majú jediný priesečník, dve
dva priesečníky a zvyšné žiadny priesečník. V prvom prípade vráti
metóda priesečníkyKružníc
jednoprvkové pole, v druhom
dvojprvkové a v ostatných prípadoch hodnotu null
.
Príklad:
Obrázok vyššie sa dá vykresliť pomocou nasledujúceho
príkladu. Príklad ukazuje definíciu pomocnej triedy Kružnica
, definíciu štyroch kružníc a nájdenie a zobrazenie
všetkých ich priesečníkov. (Podrobnosti sú v komentároch.)
import
knižnica.*;public
class
PriesečníkyKružnícextends
GRobot
{// Pomocná trieda slúžiaca na uloženie základných údajov o kružnici
// (stredu a polomeru) a na nakreslenie kružnice.
private
final
class
Kružnica {// Atribúty kružnice:
public
final
Bod
S;public
final
double
r;// Konštruktor kružnice:
public
Kružnica(double
x,double
y,double
r) { S =new
Bod
(x, y);this
.r = r; }// Metóda kreslenia kružnice:
public
void
kresli() {skočNa
(S);kružnica
(r); } }// Konštruktor hlavnej triedy:
private
PriesečníkyKružníc() {// Úprava rozmerov plátna a skrytie robota:
super
(300
,300
);skry
();// Definícia poľa kružníc:
final
Kružnica[] kružnice = {new
Kružnica(-50
,70
,50
),new
Kružnica(60
,70
,60
),new
Kružnica(-45
, -70
,55
),new
Kružnica(55
, -70
,65
)};// Pole bodov slúžiace na uchovanie nájdených priesečníkov:
Bod
p[];// Nakreslenie kružníc:
for
(Kružnica k : kružnice) k.kresli();// Zväčšenie hrúbky pera, aby boli zobrazené priesečníky lepšie
// viditeľné:
hrúbkaČiary
(1.75
);// Hľadanie priesečníkov všetkých definovaných kružníc:
for
(int
i =0
; i < kružnice.length; ++i) {for
(int
j = i +1
; j < kružnice.length; ++j) {// Pokus o nájdenie priesečníkov:
p =Svet
.priesečníkyKružníc
( kružnice[i].S, kružnice[i].r, kružnice[j].S, kružnice[j].r);// Overenie, či bol nájdený aspoň jeden:
if
(null
!= p) {// Zviditeľnenie prvého nájdeného priesečníka malým krúžkom:
if
(p.length >0
) {skočNa
(p[0
]);kružnica
(3
); }// Druhý priesečník bude zviditeľnený krúžkom, ktorý bude
// o niečo väčší (na ich odlíšenie):
if
(p.length >1
) {skočNa
(p[1
]);kružnica
(6
); } } } } }public
static
void
main(String
[] args) {new
PriesečníkyKružníc(); } }
(Výsledok je v tomto prípade na obrázku nad príkladom.)
Poznámka (pre zaujímavosť): Táto
metóda (a jej klony) by mohla v prípade nenájdenia žiadneho
priesečníka vrátiť namiesto hodnoty null
pole s nulovou
dĺžkou („prázdne“ pole), ale to by nebolo konzistentné s ostatnými
metódami, ktoré hľadajú priesečníky. (A zachovanie konzistencie
pri tvorbe balíkov akými sú programovacie rámce je dôležité.
Niekedy sa ju nemusí podariť dosiahnuť z dôvodu rozsiahlosti
balíkov a z dôvodu prijímania rôznych rozhodnutí
v rôznych kontextoch, no prinajmenšom v prípadoch ako
je tento by mala byť zachovaná.)
x1
– x-ová súradnica stredu prvej kružnicey1
– y-ová súradnica stredu prvej kružnicer1
– polomer prvej kružnicex2
– x-ová súradnica stredu druhej kružnicey2
– y-ová súradnica stredu druhej kružnicer2
– polomer druhej kružnicenull
, ak nejestvujúpublic static final Bod[] priesecnikyKruznic(double x1, double y1, double r1, double x2, double y2, double r2)
Alias pre priesečníkyKružníc
.
public static final Bod[] priesečníkyKružníc(Poloha S1, double r1, Poloha S2, double r2)
Hľadá priesečníky dvoch kružníc určených polohami ich stredov
S1 a S2 a polomermi r1 a r2. Ak jestvuje aspoň jeden priesečník,
tak metóda vráti jedno- alebo dvojprvkové pole bodov určujúcich
súradnice priesečníkov. Ak nejestvuje ani jeden priesečník, tak
metóda vráti hodnotu null
.
S1
– poloha stredu prvej kružnicer1
– polomer prvej kružniceS2
– poloha stredu druhej kružnicer2
– polomer druhej kružnicenull
, ak nejestvujúpublic static final Bod[] priesecnikyKruznic(Poloha S1, double r1, Poloha S2, double r2)
Alias pre priesečníkyKružníc
.
public static final Bod[] priesečníkyPriamkyAKružnice(double x1, double y1, double x2, double y2, double x3, double y3, double r)
Hľadá priesečníky priamky AB a kružnice určenej súradnicami
stredu S a polomeru r. Súradnice bodov priamky a stredu kružnice
sú určené parametrami tejto metódy takto: A[x1, y1]; B[x2, y2];
S[x3, y3]. Parameter r je polomerom kružnice. Ak jestvuje aspoň
jeden priesečník, tak metóda vráti pole bodov určujúcich súradnice
priesečníkov (pole môže obsahovať jeden alebo dva prvky/body). Ak
nejestvuje ani jeden priesečník, tak metóda vráti hodnotu
null
.
Príklad:
hrúbkaČiary
(1.5
);skry
();for
(int
i =0
; i <7
; ++i) {// Vygenerovanie súradníc:
double
x1 =Svet
.náhodnéCeléČíslo
(-150
,150
);double
y1 =Svet
.náhodnéCeléČíslo
(-150
,150
);double
x2 =Svet
.náhodnéCeléČíslo
(-150
,150
);double
y2 =Svet
.náhodnéCeléČíslo
(-150
,150
);double
x3 =Svet
.náhodnéCeléČíslo
(-150
,150
);double
y3 =Svet
.náhodnéCeléČíslo
(-150
,150
);double
r =Svet
.náhodnéCeléČíslo
(30
,120
);// Nakreslenie situácie:
farba
(preddefinovanéFarby
[preddefinovanéFarby
.length -1
-4
* i]);skočNa
(x1, y1);choďNa
(x2, y2);skočNa
(x3, y3);kružnica
(r);// Výpočet priesečníkov:
Bod
[] pries =Svet
.priesečníkyPriamkyAKružnice
( x1, y1, x2, y2, x3, y3, r);// Vyznačenie priesečníkov (ak jestvujú):
if
(null
!= pries) {if
(1
<= pries.length) {skočNa
(pries[0
]);kruh
(3
); }if
(2
<= pries.length) {skočNa
(pries[1
]);kruh
(3
); } } }
Výsledok:
Ukážky
výsledkov.
Príklad je naprogramovaný tak, aby z priamok kreslil len úsečky medzi ich určujúcimi bodmi, ale na výsledku vidno, že priesečníky s kružnicami sú nájdené pre celé priamky.
Poznámka (pre zaujímavosť): Táto
metóda (a jej klony) by mohla v prípade nenájdenia žiadneho
priesečníka vrátiť namiesto hodnoty null
pole s nulovou
dĺžkou („prázdne“ pole), ale to by nebolo konzistentné s ostatnými
metódami, ktoré hľadajú priesečníky. (A zachovanie konzistencie
pri tvorbe balíkov akými sú programovacie rámce je dôležité.
Niekedy sa ju nemusí podariť dosiahnuť z dôvodu rozsiahlosti
balíkov a z dôvodu prijímania rôznych rozhodnutí
v rôznych kontextoch, no prinajmenšom v prípadoch ako
je tento by mala byť zachovaná.)
Užitočné zdroje:
x1
– x-ová súradnica určujúceho bodu priamky Ay1
– y-ová súradnica určujúceho bodu priamky Ax2
– x-ová súradnica určujúceho bodu priamky By2
– y-ová súradnica určujúceho bodu priamky Bx3
– x-ová súradnica stredu kružnicey3
– y-ová súradnica stredu kružnicer
– polomer kružnicenull
, ak nejestvujúpublic static final Bod[] priesecnikyPriamkyAKruznice(double x1, double y1, double x2, double y2, double x3, double y3, double r)
Alias pre priesečníkyPriamkyAKružnice
.
public static final Bod[] priesečníkyPriamkyAKružnice(Poloha A, Poloha B, Poloha S, double r)
Hľadá priesečníky priamky AB a kružnice určenej polohou
stredu S a polomeru r. Ak jestvuje aspoň jeden priesečník, tak
metóda vráti pole bodov určujúcich súradnice priesečníkov (pole
môže obsahovať jeden alebo dva prvky/body). Ak nejestvuje ani
jeden priesečník, tak metóda vráti hodnotu null
.
A
– poloha určujúceho bodu priamky AB
– poloha určujúceho bodu priamky BS
– poloha stredu kružnicer
– polomer kružnicenull
, ak nejestvujúpublic static final Bod[] priesecnikyPriamkyAKruznice(Poloha A, Poloha B, Poloha S, double r)
Alias pre priesečníkyPriamkyAKružnice
.
public static final Bod[] priesečníkyÚsečkyAKružnice(double x1, double y1, double x2, double y2, double x3, double y3, double r)
Hľadá priesečníky úsečky AB a kružnice so stredom
S a polomerom r. Ak jestvuje jeden priesečník, metóda vráti
jednoprvkové pole. Ak jestvujú dva priesečníky, metóda vráti
dvojprvkové pole bodov so súradnicami priesečníkov. Ak nejestvuje
žiadny priesečník, tak metóda vráti hodnotu null
.
Ukážka použitia:
// Keď máme k dispozícii polohy bodov, môžeme využiť inú verziu tejto metódy:
final
Bod
A =new
Bod
(-15
, -30
);final
Bod
B =new
Bod
(75
,80
);final
Bod
S =new
Bod
(-15
, -10
);final
double
r =80
;Bod
[] P =Svet
.priesečníkyÚsečkyAKružnice
(A, B, S, r);
Vizualizácia výsledku:
Obrázok nižšie zobrazuje úsečku AB, kružnicu k so stredom S a polomerom r a ich priesečník (v tejto situácii je len jeden) P.
Poznámka (pre zaujímavosť): Táto
metóda (a jej klony) by mohla v prípade nenájdenia žiadneho
priesečníka vrátiť namiesto hodnoty null
pole s nulovou
dĺžkou („prázdne“ pole), ale to by nebolo konzistentné s ostatnými
metódami, ktoré hľadajú priesečníky. (A zachovanie konzistencie
pri tvorbe balíkov akými sú programovacie rámce je dôležité.
Niekedy sa ju nemusí podariť dosiahnuť z dôvodu rozsiahlosti
balíkov a z dôvodu prijímania rôznych rozhodnutí
v rôznych kontextoch, no prinajmenšom v prípadoch ako
je tento by mala byť zachovaná.)
x1
– x-ová súradnica bodu A úsečkyy1
– y-ová súradnica bodu A úsečkyx2
– x-ová súradnica bodu B úsečkyy2
– y-ová súradnica bodu B úsečkyx3
– x-ová súradnica stredu kružnicey3
– y-ová súradnica stredu kružnicer
– polomer kružnicenull
, ak nejestvujúpublic static final Bod[] priesecnikyUseckyAKruznice(double x1, double y1, double x2, double y2, double x3, double y3, double r)
Alias pre priesečníkyÚsečkyAKružnice
.
public static final Bod[] priesečníkyÚsečkyAKružnice(Poloha A, Poloha B, Poloha S, double r)
Hľadá priesečníky úsečky AB a kružnice so stredom
S a polomerom r. Ak jestvuje jeden priesečník, metóda vráti
jednoprvkové pole. Ak jestvujú dva priesečníky, metóda vráti
dvojprvkové pole bodov so súradnicami priesečníkov. Ak nejestvuje
žiadny priesečník, tak metóda vráti hodnotu null
.
A
– poloha bodu A úsečkyB
– poloha bodu B úsečkyS
– poloha stredu S kružnicer
– polomer kružnicenull
, ak nejestvujúpublic static final Bod[] priesecnikyUseckyAKruznice(Poloha A, Poloha B, Poloha S, double r)
Alias pre priesečníkyÚsečkyAKružnice
.
public static final Bod najbližšíBodNaPriamke(double x0, double y0, double x1, double y1, double x2, double y2)
Nájde najbližší bod na priamke určenej dvomi bodmi A[x1, y1]
a B[x2, y2] k zadanému voľnému bodu V[x0, y0] a vráti jeho
súradnice v objekte typu Bod
.
Grafické
znázornenie možnej situácie pri hľadaní najbližšieho bodu na
priamke.
Príklad:
Pozrite sa na príklad v opise metódy najbližšíBodNaÚsečke
a nahraďte v ňom volanie metódy najbližšíBodNaÚsečke
metódou najbližšíBodNaPriamke
. Priamka bude síce stále kreslená ako úsečka
(riešenie tejto nedokonalosti ponechávame na čitateľoch), ale
správanie príkladu sa zmení tak, že nájdený bod bude „opúšťať
hranice úsečky“ a posúvať sa aj za hraničné body pôvodnej úsečky
(pretože v skutočnosti bude ležať na priamke).
Výsledok:
Ukážka interaktívneho príkladu v činnosti po vyššie
uvedenej úprave.
Užitočný zdroj:
x0
– x-ová súradnica voľného bodu Vy0
– y-ová súradnica voľného bodu Vx1
– x-ová súradnica určujúceho bodu A priamkyy1
– y-ová súradnica určujúceho bodu A priamkyx2
– x-ová súradnica určujúceho bodu B priamkyy2
– y-ová súradnica určujúceho bodu B priamkypublic static final Bod najblizsiBodNaPriamke(double x0, double y0, double x1, double y1, double x2, double y2)
Alias pre najbližšíBodNaPriamke
.
public static final Bod najbližšíBodNaPriamke(Poloha V, Poloha A, Poloha B)
Nájde najbližší bod na priamke AB k zadanému voľnému bodu
V a vráti jeho súradnice v objekte typu Bod
.
V
– poloha voľného bodu VA
– poloha určujúceho bodu A priamkyB
– poloha určujúceho bodu B priamkypublic static final Bod najblizsiBodNaPriamke(Poloha V, Poloha A, Poloha B)
Alias pre najbližšíBodNaPriamke
.
public static final Bod najbližšíBodNaPriamke(Poloha[] poleBodov)
Nájde najbližší bod na priamke AB k zadanému voľnému bodu
V a vráti jeho súradnice v objekte typu Bod
. Bod
a priamka sú určené polohami bodov v poli parametra, ktoré musí
obsahovať aspoň tri prvky. Prvý prvok určuje bod V a ďalšie dva
prvky body A a B.
poleBodov
– polohy bodov určujúce bod V a priamku A, Bpublic static final Bod najblizsiBodNaPriamke(Poloha[] poleBodov)
Alias pre najbližšíBodNaPriamke
.
public static final Bod najbližšíBodNaÚsečke(double x0, double y0, double x1, double y1, double x2, double y2)
Nájde najbližší bod na úsečke určenej dvomi bodmi A[x1, y1]
a B[x2, y2] k zadanému voľnému bodu V[x0, y0] a vráti jeho
súradnice v objekte typu Bod
.
Grafické
znázornenie možných situácií pri hľadaní najbližšieho bodu na
úsečke.
Príklad:
Toto je krátky interaktívny príklad ukazujúci fungovanie
metódy najbližšíBodNaÚsečke
. Krajné body úsečky a samotný voľný bod
sa dajú ťahať myšou a nájdený bod je vyznačený o niečo väčšou
kružnicou, než sú vyznačené tri kľúčové body.
import
knižnica.*;public
class
BodNaÚsečkeextends
GRobot
{// Pole bodov. Prvý bod je voľný bod a ďalšie dva sú krajné body úsečky.
private
Bod
[] body = {new
Bod
(),new
Bod
(),new
Bod
()};// Index aktuálne ťahaného bodu:
private
int
aktívny =0
;// Konštruktor.
private
BodNaÚsečke() {// Zmena rozmerov plátna a inicializácia príkladu.
super
(400
,400
);skry
();Svet
.zbaľ
();Svet
.vystreď
();for
(Bod
bod : body) {náhodnáPoloha
(); bod.poloha
(this
); }prekreslenie
(); }// Reakcia na stlačenie tlačidla myši.
@
Overridepublic
void
stlačenieTlačidlaMyši
() {if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
)) {// Ľavé tlačidlo vykoná vyhľadanie a aktiváciu bodu na polohe myši…
skočNaMyš
();for
(int
i =0
; i < body.length; ++i)if
(bodVKruhu
(body[i])) aktívny = i; body[aktívny].poloha
(ÚdajeUdalostí
.polohaMyši
());prekreslenie
(); } }// Reakcia na ťahanie kurzora myši (ťahanie znamená pohyb myšou počas
// držania ľubovoľného tlačidla).
@
Overridepublic
void
ťahanieMyšou
() {if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
)) {// Ľavé tlačidlo premiestňuje aktívny bod.
body[aktívny].poloha
(ÚdajeUdalostí
.polohaMyši
());prekreslenie
(); } }// Reakcia na prekreslenie spôsobí prekreslenie scény.
@
Overridepublic
void
prekreslenie
() {podlaha
.vymažGrafiku
();skočNa
(body[1
]);choďNa
(body[2
]);for
(int
i =0
; i < body.length; ++i) {skočNa
(body[i]);krúžok
(3
); }Bod
bod =Svet
.najbližšíBodNaÚsečke
(body);skočNa
(bod);krúžok
(6
); }// Hlavná metóda.
public
static
void
main(String
[] args) {new
BodNaÚsečke(); } }
Výsledok:
Ukážka
interaktívneho príkladu v činnosti.
x0
– x-ová súradnica voľného bodu Vy0
– y-ová súradnica voľného bodu Vx1
– x-ová súradnica krajného bodu A úsečkyy1
– y-ová súradnica krajného bodu A úsečkyx2
– x-ová súradnica krajného bodu B úsečkyy2
– y-ová súradnica krajného bodu B úsečkypublic static final Bod najblizsiBodNaUsecke(double x0, double y0, double x1, double y1, double x2, double y2)
Alias pre najbližšíBodNaÚsečke
.
public static final Bod najbližšíBodNaÚsečke(Poloha V, Poloha A, Poloha B)
Nájde najbližší bod na úsečke AB k zadanému voľnému bodu
V a vráti jeho súradnice v objekte typu Bod
.
V
– poloha voľného bodu VA
– poloha krajného bodu A úsečkyB
– poloha krajného bodu B úsečkypublic static final Bod najblizsiBodNaUsecke(Poloha V, Poloha A, Poloha B)
Alias pre najbližšíBodNaÚsečke
.
public static final Bod najbližšíBodNaÚsečke(Poloha[] poleBodov)
Nájde najbližší bod na úsečke AB k zadanému voľnému bodu
V a vráti jeho súradnice v objekte typu Bod
. Bod
a úsečka sú určené polohami bodov v poli parametra, ktoré musí
obsahovať aspoň tri prvky. Prvý prvok určuje bod V a ďalšie dva
prvky body A a B.
poleBodov
– polohy bodov určujúce bod V a úsečku A, Bpublic static final Bod najblizsiBodNaUsecke(Poloha[] poleBodov)
Alias pre najbližšíBodNaÚsečke
.
public static final Bod najbližšíBodNaKružnici(double x0, double y0, double x1, double y1, double r)
Nájde najbližší bod na kružnici so stredom S[x1, y1]
a polomerom r k zadanému voľnému bodu V[x0, y0] a vráti jeho
polohu v objekte typu Bod
. Úloha je neriešiteľná,
ak sa voľný bod V nachádza v strede kružnice, pretože od stredu
kružnice sú rovnako vzdialené všetky jej body. Ak nastane takáto
situácia, tak metóda vráti hodnotu null
.
Grafické
znázornenie hľadania najbližšieho bodu na kružnici.
Príklad:
import
knižnica.*;public
class
BodNaKružniciextends
GRobot {private
Bod myš =null
;private
BodNaKružnici() {super
(300
,300
);hrúbkaČiary
(3
);farba
(zelená
);veľkosť
(50
);Svet
.prekresli
(); }@
Overridepublic
void
kresliSeba
() {krúžok
();if
(null
== myš)return
;Bod
bod =Svet
.najbližšíBodNaKružnici
(myš,this
,veľkosť
());farba
(červená
);hrúbkaČiary
(0.33
);skočNaMyš
();kružnica
(3.5
);choďNa
(bod);kružnica
(3.5
); }@
Overridepublic
void
pohybMyši
() { myš =ÚdajeUdalostí
.polohaMyši
();Svet
.prekresli
(); }public
static
void
main(String
[] args) {Svet
.použiKonfiguráciu
("BodNaKružnici.cfg"
);Svet
.nekresli
();new
BodNaKružnici();Svet
.zbaľ
(); } }
Výsledok:
Pohyb myši spôsobí zmenu zapamätaných súradníc a prekreslenie. V kreslení vlastného tvaru sa po nakreslení tvaru krúžku nakreslia dve malé tenké červené kružnice s čiarou medzi ich stredmi, pričom prvá z nich je na naposledy zapamätanej pozícii pri pohybe myšou a je k tejto polohe najbližším bodom ležiacim na kružnici reprezentujúcej vlastný tvar robota.
x0
– x-ová súradnica voľného boduy0
– y-ová súradnica voľného bodux1
– x-ová súradnica stredu kružnicey1
– y-ová súradnica stredu kružnicer
– polomer kružnicenull
)public static final Bod najblizsiBodNaKruznici(double x0, double y0, double x1, double y1, double r)
Alias pre najbližšíBodNaKružnici
.
public static final Bod najbližšíBodNaKružnici(Poloha V, Poloha S, double r)
Nájde najbližší bod na kružnici so stredom S a polomerom
r k zadanému voľnému bodu V a vráti jeho polohu v objekte typu
Bod
. Úloha je neriešiteľná, ak sa voľný bod V nachádza
v strede kružnice. Ak nastane takáto situácia, tak metóda vráti
hodnotu null
.
V
– poloha voľného boduS
– poloha stredu kružnicer
– polomer kružnicenull
)public static final Bod najblizsiBodNaKruznici(Poloha V, Poloha S, double r)
Alias pre najbližšíBodNaKružnici
.
public static final double vzdialenosťBodov(double x1, double y1, double x2, double y2)
Vypočíta vzdialenosť medzi dvomi bodmi so súradnicami [x1, y1]
a [x2, y2]. Táto metóda volá metódu jazyka Java Point2D.distance(x1, y1, x2, y2)
.
Poznámka: V skutočnosti by sme nemali
hovoriť, že ide o „metódu jazyka Java.“ Je to statická metóda
triedy Point2D
štandardného balíčka java.awt.geom
jazyka Java (a aj na
tomto opise by sa dalo ešte niečo spresňovať), ale z dôvodu
pedagogickej transformácie ponechávame v opise zjednodušené
označenie.
Zdroj:
x1
– x-ová súradnica prvého boduy1
– y-ová súradnica prvého bodux2
– x-ová súradnica druhého boduy2
– y-ová súradnica druhého bodupublic static final double vzdialenostBodov(double x1, double y1, double x2, double y2)
Alias pre vzdialenosťBodov
.
public static final double vzdialenosťBodov(Poloha A, Poloha B)
Vypočíta vzdialenosť medzi dvomi bodmi A a B. Pozri aj opis
metódy vzdialenosťBodov
, ktorej správanie táto metóda kopíruje.
A
– poloha prvého boduB
– poloha druhého bodupublic static final double vzdialenostBodov(Poloha A, Poloha B)
Alias pre vzdialenosťBodov
.
public static final double vzdialenosťBodov(Poloha[] poleBodov)
vzdialenosťBodov
, ktorej správanie táto metóda kopíruje.poleBodov
– polohy bodovDouble.NaN
– v prípade chyby)public static final double vzdialenostBodov(Poloha[] poleBodov)
Alias pre vzdialenosťBodov
.
public static final double vzdialenosťBoduOdPriamky(double x0, double y0, double x1, double y1, double x2, double y2)
Vypočíta vzdialenosť od zadaného voľného bodu V[x0, y0] k priamke určenej dvomi bodmi A[x1, y1] a B[x2, y2]. (Ak bod leží na priamke, tak je vzdialenosť rovná nule.)
Metóda nepoužíva metódu jazyka Java Line2D.ptLineDist(x1, y1, x2, y2, x0, y0)
, ale vnútornú
(rovnomennú) optimalizovanú verziu jednej z implementácií tejto
metódy.
Súvisiaci zdroj:
Poznámka: V skutočnosti by sme nemali
hovoriť, že ide o „metódu jazyka Java.“ Je to statická metóda
triedy Line2D
štandardného balíčka java.awt.geom
jazyka Java (a aj na
tomto opise by sa dalo ešte niečo spresňovať), ale z dôvodu
pedagogickej transformácie ponechávame v opise zjednodušené
označenie.
Grafické
znázornenie možnej situácie pri určovaní vzdialenosti bodu od
priamky.
Príklad:
Pozrite sa na príklad v opise metódy vzdialenosťBoduOdÚsečky
a upravte telo reakcie prekreslenie
takto:
podlaha
.vymažGrafiku
();skočNa
(body[1
]);choďNa
(body[2
]);// Tieto riadky pribudli:
skočNa
(body[1
]);otočNa
(body[2
]);vzad
(2000
);skočNa
(body[2
]);dopredu
(2000
);for
(int
i =0
; i < body.length; ++i) {skočNa
(body[i]);krúžok
(3
); }skočNa
(body[0
]);uhol
(90
);skoč
();// Volanie metódy na tomto riadku sa zmenilo:
text
(F
(Svet
.vzdialenosťBoduOdPriamky
(body),2
));
Výsledok:
Ukážka
interaktívneho príkladu v činnosti.
Zdroj:
x0
– x-ová súradnica voľného boduy0
– y-ová súradnica voľného bodux1
– x-ová súradnica určujúceho bodu A priamkyy1
– y-ová súradnica určujúceho bodu A priamkyx2
– x-ová súradnica určujúceho bodu B priamkyy2
– y-ová súradnica určujúceho bodu B priamkypublic static final double vzdialenostBoduOdPriamky(double x0, double y0, double x1, double y1, double x2, double y2)
Alias pre vzdialenosťBoduOdPriamky
.
public static final double vzdialenosťBoduOdPriamky(Poloha V, Poloha A, Poloha B)
Vypočíta vzdialenosť od zadaného voľného bodu V k priamke AB.
Pozri aj opis metódy vzdialenosťBoduOdPriamky
,
ktorej správanie táto metóda kopíruje.
V
– poloha voľného boduA
– poloha určujúceho bodu A priamkyB
– poloha určujúceho bodu B priamkypublic static final double vzdialenostBoduOdPriamky(Poloha V, Poloha A, Poloha B)
Alias pre vzdialenosťBoduOdPriamky
.
public static final double vzdialenosťBoduOdPriamky(Poloha[] poleBodov)
Vypočíta vzdialenosť medzi voľným bodom a priamkou, ktoré
sú určené určenými polohami bodov v poli parametra. Pole musí
obsahovať aspoň tri prvky. Prvý prvok obsahuje súradnice voľného
bodu a ďalšie dva prvky určujúce body priamky. Pozri aj opis
metódy vzdialenosťBoduOdPriamky
, ktorej
správanie táto metóda kopíruje.
poleBodov
– polohy voľného bodu a určujúcich bodov priamkyDouble.NaN
– v prípade chyby)public static final double vzdialenostBoduOdPriamky(Poloha[] poleBodov)
Alias pre vzdialenosťBoduOdPriamky
.
public static final double vzdialenosťBoduOdÚsečky(double x0, double y0, double x1, double y1, double x2, double y2)
Vypočíta vzdialenosť od zadaného voľného bodu V[x0, y0] k úsečke určenej dvomi bodmi A[x1, y1] a B[x2, y2]. (Ak bod leží na úsečke, tak je vzdialenosť rovná nule.)
Metóda nepoužíva metódu jazyka Java Line2D.ptSegDist(x1, y1, x2, y2, x0, y0)
, ale vnútornú
(rovnomennú) optimalizovanú verziu jednej z implementácií tejto
metódy.
Súvisiaci zdroj:
Poznámka: V skutočnosti by sme nemali
hovoriť, že ide o „metódu jazyka Java.“ Je to statická metóda
triedy Line2D
štandardného balíčka java.awt.geom
jazyka Java (a aj
na tomto opise by sa dalo ešte niečo spresňovať), ale z dôvodu
pedagogickej transformácie ponechávame v opise zjednodušené
označenie. Podobne postupujeme na viacerých miestach tejto
dokumentácie.
Grafické
znázornenie možnej situácie pri určovaní vzdialenosti bodu od
úsečky.
Príklad:
Toto je krátky interaktívny príklad ukazujúci fungovanie
metódy vzdialenosťBoduOdÚsečky
. Krajné body úsečky a samotný voľný bod
sa dajú ťahať myšou a nameraná vzdialenosť sa zobrazuje tesne
nad bodom.
import
knižnica.*;public
class
BodOdÚsečkyextends
GRobot
{// Pole bodov. Prvý bod je voľný bod a ďalšie dva sú krajné body úsečky.
private
Bod
[] body = {new
Bod
(),new
Bod
(),new
Bod
()};// Index aktuálne ťahaného bodu:
private
int
aktívny =0
;// Konštruktor.
private
BodOdÚsečky() {// Zmena rozmerov plátna a inicializácia príkladu.
super
(400
,400
);skry
();Svet
.zbaľ
();Svet
.vystreď
();for
(Bod
bod : body) {náhodnáPoloha
(); bod.poloha
(this
); }prekreslenie
(); }// Reakcia na stlačenie tlačidla myši.
@
Overridepublic
void
stlačenieTlačidlaMyši
() {if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
)) {// Ľavé tlačidlo vykoná vyhľadanie a aktiváciu bodu na polohe myši…
skočNaMyš
();for
(int
i =0
; i < body.length; ++i)if
(bodVKruhu
(body[i])) aktívny = i; body[aktívny].poloha
(ÚdajeUdalostí
.polohaMyši
());prekreslenie
(); } }// Reakcia na ťahanie kurzora myši (ťahanie znamená pohyb myšou počas
// držania ľubovoľného tlačidla).
@
Overridepublic
void
ťahanieMyšou
() {if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
)) {// Ľavé tlačidlo premiestňuje aktívny bod.
body[aktívny].poloha
(ÚdajeUdalostí
.polohaMyši
());prekreslenie
(); } }// Reakcia na prekreslenie spôsobí prekreslenie scény.
@
Overridepublic
void
prekreslenie
() {podlaha
.vymažGrafiku
();skočNa
(body[1
]);choďNa
(body[2
]);for
(int
i =0
; i < body.length; ++i) {skočNa
(body[i]);krúžok
(3
); }skočNa
(body[0
]);uhol
(90
);skoč
();text
(F
(Svet
.vzdialenosťBoduOdÚsečky
(body),2
)); }// Hlavná metóda.
public
static
void
main(String
[] args) {new
BodOdÚsečky(); } }
Výsledok:
Ukážka
interaktívneho príkladu v činnosti.
Zdroj:
x0
– x-ová súradnica voľného boduy0
– y-ová súradnica voľného bodux1
– x-ová súradnica určujúceho bodu A úsečkyy1
– y-ová súradnica určujúceho bodu A úsečkyx2
– x-ová súradnica určujúceho bodu B úsečkyy2
– y-ová súradnica určujúceho bodu B úsečkypublic static final double vzdialenostBoduOdUsecky(double x0, double y0, double x1, double y1, double x2, double y2)
Alias pre vzdialenosťBoduOdÚsečky
.
public static final double vzdialenosťBoduOdÚsečky(Poloha V, Poloha A, Poloha B)
Vypočíta vzdialenosť od zadaného voľného bodu V k úsečke AB.
Pozri aj opis metódy vzdialenosťBoduOdÚsečky
,
ktorej správanie táto metóda kopíruje.
V
– poloha voľného boduA
– poloha určujúceho bodu A úsečkyB
– poloha určujúceho bodu B úsečkypublic static final double vzdialenostBoduOdUsecky(Poloha V, Poloha A, Poloha B)
Alias pre vzdialenosťBoduOdÚsečky
.
public static final double vzdialenosťBoduOdÚsečky(Poloha[] poleBodov)
Vypočíta vzdialenosť medzi voľným bodom V a úsečkou AB, ktoré
sú určené polohami bodov v poli parametra poleBodov
. Pole
musí obsahovať aspoň tri prvky. Prvý prvok obsahuje súradnice
voľného bodu V a ďalšie dva prvky určujúce body úsečky AB. Pozri
aj opis metódy vzdialenosťBoduOdÚsečky
, ktorej
správanie táto metóda kopíruje.
poleBodov
– polohy voľného bodu a určujúcich bodov úsečkyDouble.NaN
– v prípade chyby)public static final double vzdialenostBoduOdUsecky(Poloha[] poleBodov)
Alias pre vzdialenosťBoduOdÚsečky
.
public static final double vzdialenosťBoduOdKružnice(double x0, double y0, double x1, double y1, double r)
Vypočíta vzdialenosť od zadaného voľného bodu V ku kružnici určenej stredom S a polomerom r. Pozor! Ak sa bod nachádza vo vnútri kružnice, tak táto metóda vráti zápornú hodnotu – pozri vysvetlenie v poznámkach nižšie.
Výpočet, ktorý vykonáva táto metóda je v skutočnosti technicky
veľmi jednoduchý. Stačí vypočítať vzdialenosť bodu od stredu
kružnice a odpočítať polomer kružnice. (Na výpočet vzdialenosti
je použitá funkcia (technicky metóda triedy Math
)
Math.hypot(x, y)
.)
Poznámky: Ak bod leží na kružnici, jeho vzdialenosť od stredu kružnice sa rovná polomeru kružnice, čiže vzdialenosť od kružnice je nulová. Ak bod leží vo vnútri kružnice, tak bez použitia absolútnej hodnoty vyjde vzdialenosť záporná, čo je technicky nezmysel, ale na rýchle odlíšenie tejto situácie (a tiež na zjednodušenie použitia pri niektorých algoritmoch) je tejto metóde ponechaná schopnosť vracania zápornej vzdialenosti. Podobný prístup volia viaceré metódy programovacieho rámca.
Parametre metódy určujú: V[x0, y0] – voľný bod; S[x1, y1] – stred kružnice; r – polomer kružnice.
Rôzne
situácie pri meraní vzdialenosti bodu od kružnice touto metódou.
x0
– x-ová súradnica voľného boduy0
– y-ová súradnica voľného bodux1
– x-ová súradnica stredu S kružnicey1
– y-ová súradnica stredu S kružnicer
– polomer kružnicepublic static final double vzdialenostBoduOdKruznice(double x0, double y0, double x1, double y1, double r)
Alias pre vzdialenosťBoduOdKružnice
.
public static final double vzdialenosťBoduOdKružnice(Poloha V, Poloha S, double r)
Vypočíta vzdialenosť od zadaného voľného bodu V ku kružnici
určenej stredom S a polomerom r. Pozri aj opis metódy vzdialenosťBoduOdKružnice
, ktorej správanie táto metóda
kopíruje.
V
– poloha voľného boduS
– poloha stredu kružnicer
– polomer kružnicepublic static final double vzdialenostBoduOdKruznice(Poloha V, Poloha S, double r)
Alias pre vzdialenosťBoduOdKružnice
.
public static final double vzdialenosťBoduOdKružnice(Poloha[] poleBodov, double polomer)
Vypočíta vzdialenosť medzi voľným bodom V a kružnicou, ktorá
je určená stredom S a polomerom r, pričom body V a S sú prvkami
poľa poleBodov
a r je uložený v parametri polomer
).
Z uvedeného vyplýva, že pole musí obsahovať aspoň dva prvky. Prvý
uchováva súradnice voľného bodu V a druhý stredu kružnice S.
(Posledný parameter polomer
určuje polomer kružnice.) Pozri
aj opis metódy vzdialenosťBoduOdKružnice
,
ktorej správanie táto metóda kopíruje.
poleBodov
– polohy voľného bodu a stredu kružnicepolomer
– polomer kružniceDouble.NaN
– v prípade chyby); záporná
hodnota signalizuje, že bod sa nachádza vo vnútri kružnicepublic static final double vzdialenostBoduOdKruznice(Poloha[] poleBodov, double polomer)
Alias pre vzdialenosťBoduOdKružnice
.
public static final double vzdialenosťKružníc(double x1, double y1, double r1, double x2, double y2, double r2)
Vypočíta vzdialenosť medzi dvomi kružnicami, ktoré sú určené svojími stredmi (S1, S2) a polomermi (r1, r2). Ak majú kružnice prienik, tak je vzdialenosť záporná. (Ak sa dotýkajú v jedinom bode, tak je nulová.)
Grafické
znázornenie vzdialenosti medzi kružnicami (červenou), ktorú
počíta táto metóda.
Parametre metódy určujú: S1[x1, y1] – stred prvej kružnice; r1 – polomer prvej kružnice; S2[x2, y2] – stred druhej kružnice; r2 – polomer druhej kružnice.
x1
– x-ová súradnica stredu S1 (prvej) kružnicey1
– y-ová súradnica stredu S1 (prvej) kružnicer1
– polomer prvej kružnicex2
– x-ová súradnica stredu S2 (druhej) kružnicey2
– y-ová súradnica stredu S2 (druhej) kružnicer2
– polomer druhej kružnicepublic static final double vzdialenostKruznic(double x1, double y1, double r1, double x2, double y2, double r2)
Alias pre vzdialenosťKružníc
.
public static final double vzdialenosťKružníc(Poloha S1, double r1, Poloha S2, double r2)
Vypočíta vzdialenosť medzi dvomi kružnicami, ktoré sú určené
svojími stredmi (S1, S2) a polomermi (r1, r2). Pozri aj opis metódy
vzdialenosťKružníc
, ktorej správanie táto metóda
kopíruje.
S1
– poloha stredu prvej kružnicer1
– polomer prvej kružniceS2
– poloha stredu druhej kružnicer2
– polomer druhej kružnicepublic static final double vzdialenostKruznic(Poloha S1, double r1, Poloha S2, double r2)
Alias pre vzdialenosťKružníc
.
public static final double vzdialenosťKružníc(Poloha[] poleBodov, double polomer1, double polomer2)
Vypočíta vzdialenosť medzi dvomi kružnicami určenými stredmi
S1 a S2 a polomermi r1 a r2, pričom stredy S1 a S2 sú prvkami
poľa poleBodov
. To znamená, že pole musí obsahovať aspoň
dva prvky. Prvý obsahuje súradnice stredu prvej kružnice S1 a druhý
druhej kružnice S2. Parametre r1 a r2 určujú polomery kružníc.
Pozri aj opis metódy vzdialenosťKružníc
,
ktorej správanie táto metóda kopíruje.
poleBodov
– polohy stredov kružnícpolomer1
– polomer prvej kružnicepolomer2
– polomer druhej kružniceDouble.NaN
– v prípade chyby); záporná hodnota signalizuje,
že kružnice majú spoločný viac, než jeden bod (prekrývajú sa)public static final double vzdialenostKruznic(Poloha[] poleBodov, double polomer1, double polomer2)
Alias pre vzdialenosťKružníc
.
public static final double vzdialenosťÚsečiek(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
Vypočíta vzdialenosť medzi dvomi úsečkami AB a CD. Ak sa úsečky pretínajú, tak je vzdialenosť nulová. V opačnom prípade metóda nájde najbližšie body úsečiek a vypočíta vzdialenosť medzi nimi.
Parametre metódy vyjadrujú: A[x1, y1] – B[x2, y2] – krajné body prvej úsečky; C[x3, y3] – D[x4, y4] – krajné body druhej úsečky.
Poznámka: V kontexte informácie „ak
sa úsečky pretínajú, tak je vzdialenosť nulová,“ nemá zmysel
merať vzájomnú vzdialenosť priamok, okrem prípadu, keď sú vzájomne
rovnobežné. Rovnobežnosť priamok sa dá overiť metódou priesečníkPriamok
– ak sú rovnobežné,
tak metóda vráti hodnotu null
. Zistenie vzdialenosti
rovnobežných priamok potom treba vykonať tak, že zvolíme ľubovoľný
bod na jednej priamke, metódou najbližšíBodNaPriamke
,
získame bod ležiaci na druhej priamke a potom metódou vzdialenosť
zistíme
vzdialenosť týchto dvoch bodov.
Charakteristické situácie vzájomných polôh úsečiek a spôsob merania vzdialenosti úsečiek v nich. |
Na prevzatie:
Interaktívny príklad vzdialenost-useciek.7z vizualizujúci princíp hľadania vzdialenosti úsečiek.
Užitočné zdroje:
Implementácia algoritmu v jazyku Visual Basic:
Štrnásťstranová podrobná analýza a implementácia algoritmu v 3D priestore:
x1
– x-ová súradnica určujúceho bodu A prvej úsečkyy1
– y-ová súradnica určujúceho bodu A prvej úsečkyx2
– x-ová súradnica určujúceho bodu B prvej úsečkyy2
– y-ová súradnica určujúceho bodu B prvej úsečkyx3
– x-ová súradnica určujúceho bodu C druhej úsečkyy3
– y-ová súradnica určujúceho bodu C druhej úsečkyx4
– x-ová súradnica určujúceho bodu D druhej úsečkyy4
– y-ová súradnica určujúceho bodu D druhej úsečkypublic static final double vzdialenostUseciek(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
Alias pre vzdialenosťÚsečiek
.
public static final double vzdialenosťÚsečiek(Poloha A, Poloha B, Poloha C, Poloha D)
Vypočíta vzdialenosť medzi dvomi úsečkami AB a CD. Ak sa
úsečky pretínajú, tak je vzdialenosť nulová. V opačnom prípade
metóda nájde najbližšie body úsečiek a vypočíta vzdialenosť medzi
nimi. Pozri aj opis metódy vzdialenosťÚsečiek
, ktorej správanie táto metóda kopíruje.
A
– poloha určujúceho bodu A prvej úsečkyB
– poloha určujúceho bodu B prvej úsečkyC
– poloha určujúceho bodu C druhej úsečkyD
– poloha určujúceho bodu D druhej úsečkypublic static final double vzdialenostUseciek(Poloha A, Poloha B, Poloha C, Poloha D)
Alias pre vzdialenosťÚsečiek
.
public static final double vzdialenosťÚsečiek(Poloha[] poleBodov)
Vypočíta vzdialenosť medzi dvomi úsečkami AB a CD, pričom
ich určujúce body sú prvkami poľa poleBodov
. To znamená,
že pole musí obsahovať aspoň štyri prvky. Prvé dva prvky sú
určujúce body prvej úsečky (A, B) a ďalšie dva druhej (C, D).
Ak sa úsečky pretínajú, tak je vzdialenosť nulová. V opačnom
prípade metóda nájde najbližšie body úsečiek a vypočíta
vzdialenosť medzi nimi. Pozri aj opis metódy vzdialenosťÚsečiek
, ktorej správanie
táto metóda kopíruje.
poleBodov
– polohy určujúcich bodov úsečiekDouble.NaN
– v prípade chyby)public static final double vzdialenostUseciek(Poloha[] poleBodov)
Alias pre vzdialenosťÚsečiek
.
public static final double vzdialenosťPriamkyOdKružnice(double x1, double y1, double x2, double y2, double x3, double y3, double r)
Vypočíta vzdialenosť medzi určenou priamkou a kružnicou.
Pozor! Ak sa priamka a kružnica pretínajú, tak vrátená
vzdialenosť (v) je menšia od nuly, čo je z pohľadu zhody s realitou
číry nezmysel, ale keďže aj táto hodnota sa dá využiť v praxi,
bol tento spôsob v programovacom rámci ponechaný (dôvody tohto
správania sú rovnaké ako pri metóde vzdialenosťÚsečkyOdKružnice
– pozri jej
opis), pričom absolútna hodnota tejto vzdialenosti je rovná
vzdialenosti dvoch bodov určených takto:
Ide o body ležiace na kolmici (K) so zadanou priamkou (P), ktorá zároveň prechádza stredom zadanej kružnice (C). Prvý bod (B1) je priesečníkom priamok K a P. Druhý bod (B2) je taký priesečník kolmice K a kružnice C, ktorý leží bližšie k prvému priesečníku (porovnaj s priesečníkom B2′):
Grafické
znázornenie vyššie opisovanej situácie – určovania vzdialenosti
priamky od kružnice, ktoré sa pretínajú.
Ak sa kružnica a priamka dotýkajú v jedinom bode, tak je vzdialenosť nulová.
Poznámka: Cieľom relatívne komplikovaného
opisu vyššie (zahŕňajúceho priesečníky, kolmicu, priamku
a kružnicu) je presné vysvetlenie analytického riešenia problému,
ktoré bolo zvolené tak, aby bolo čo najmenej výpočtovo náročné.
V skutočnosti je veľmi priamočiare. Je to skrátka rozdiel dvoch
hodnôt, konkrétne:
• vzdialenosti stredu kružnice od priamky
• a polomeru kružnice.
(Pričom algoritmus výpočtu vzdialenosti bodu od priamky nie je
príliš výpočtovo náročný a aj v triedach Javy sa nachádza
metóda, ktorá tento algoritmus implementuje.
Programovací rámec GRobot vnútorne implementuje vlastnú
optimalizovanú verziu jednej z implementácií tejto metódy – pozri:
vzdialenosťBoduOdPriamky
.)
Grafické
znázornenie vzdialenosti úsečky od kružnice (červenou), ktorú
počíta táto metóda.
(Šedou farbou je znázornená vzdialenosť,
ktorú by v tomto prípade vypočítala metóda vzdialenosťÚsečkyOdKružnice
.)
S1[x1, y1] – S2[x2, y2] – určujúce body priamky; S3[x3, y3] – stred kružnice; r – polomer kružnice
x1
– x-ová súradnica určujúceho bodu A priamkyy1
– y-ová súradnica určujúceho bodu A priamkyx2
– x-ová súradnica určujúceho bodu B priamkyy2
– y-ová súradnica určujúceho bodu B priamkyx3
– x-ová súradnica stredu kružnicey3
– y-ová súradnica stredu kružnicer
– polomer kružnicepublic static final double vzdialenostPriamkyOdKruznice(double x1, double y1, double x2, double y2, double x3, double y3, double r)
Alias pre vzdialenosťPriamkyOdKružnice
.
public static final double vzdialenosťPriamkyOdKružnice(Poloha A, Poloha B, Poloha S, double r)
Vypočíta vzdialenosť medzi určenou priamkou AB a kružnicou
so stredom S a polomerom r. Pozri aj opis metódy vzdialenosťPriamkyOdKružnice
, ktorej
správanie táto metóda kopíruje.
A
– poloha určujúceho bodu A priamkyB
– poloha určujúceho bodu B priamkyS
– poloha stredu kružnicer
– polomer kružnicepublic static final double vzdialenostPriamkyOdKruznice(Poloha A, Poloha B, Poloha S, double r)
Alias pre vzdialenosťPriamkyOdKružnice
.
public static final double vzdialenosťPriamkyOdKružnice(Poloha[] poleBodov, double r)
Vypočíta vzdialenosť medzi určenou priamkou AB a kružnicou
so stredom S a polomerom r, pričom body A, B a stred S sú určené
prvkami poľa poleBodov
. To znamená, že pole musí obsahovať
aspoň tri prvky. Prvé dva prvky sú určujúce body priamky (A a B)
a tretí prvok je stred kružnice (S). Pozri aj opis metódy vzdialenosťPriamkyOdKružnice
, ktorej
správanie táto metóda kopíruje.
poleBodov
– polohy určujúcich bodov priamky a poloha stredu
kružnicer
– polomer kružnicepublic static final double vzdialenostPriamkyOdKruznice(Poloha[] poleBodov, double r)
Alias pre vzdialenosťPriamkyOdKružnice
.
public static final double vzdialenosťÚsečkyOdKružnice(double x1, double y1, double x2, double y2, double x3, double y3, double r)
Vypočíta vzdialenosť medzi určenou úsečkou a kružnicou. Pozor! Ak sa úsečka a kružnica pretínajú, tak vrátená vzdialenosť je menšia od nuly (bez ohľadu na nezmyselnosť tohto výsledku) a jej absolútna hodnota je vzdialenosťou najbližšieho bodu na úsečke od stredu kružnice. Technicky je v takom prípade vzdialenosť nulová, ale je užitočné mať možnosť rozlíšiť tento prípad. Najmä pri programovaní rôznych situácií. Preto vracia táto metóda aj záporné hodnoty, ktoré sa dajú v prípade potreby odfiltrovať vhodnou podmienkou.
Ak sa kružnica a úsečka dotýkajú v jedinom bode, tak je vzdialenosť nulová. Ak je niektorý krajný bod úsečky (S1 alebo S2) najbližším bodom úsečky k stredu kružnice, tak je vypočítaná vzdialenosť tohto bodu od kružnice.
Grafické
znázornenie vzdialenosti úsečky od kružnice (červenou), ktorú
počíta táto metóda.
(Pozri aj obrázok v opise metódy
vzdialenosťPriamkyOdKružnice
.)
S1[x1, y1] – S2[x2, y2] – krajné body úsečky; S3[x3, y3] – stred kružnice; r – polomer kružnice
x1
– x-ová súradnica určujúceho bodu A úsečkyy1
– y-ová súradnica určujúceho bodu A úsečkyx2
– x-ová súradnica určujúceho bodu B úsečkyy2
– y-ová súradnica určujúceho bodu B úsečkyx3
– x-ová súradnica stredu kružnicey3
– y-ová súradnica stredu kružnicer
– polomer kružnicepublic static final double vzdialenostUseckyOdKruznice(double x1, double y1, double x2, double y2, double x3, double y3, double r)
Alias pre vzdialenosťÚsečkyOdKružnice
.
public static final double vzdialenosťÚsečkyOdKružnice(Poloha A, Poloha B, Poloha S, double r)
Vypočíta vzdialenosť medzi určenou úsečkou AB a kružnicou
so stredom S a polomerom r. Pozri aj opis metódy vzdialenosťÚsečkyOdKružnice
, ktorej
správanie táto metóda kopíruje.
A
– poloha určujúceho bodu A úsečkyB
– poloha určujúceho bodu B úsečkyS
– poloha stredu kružnicer
– polomer kružnicepublic static final double vzdialenostUseckyOdKruznice(Poloha A, Poloha B, Poloha S, double r)
Alias pre vzdialenosťÚsečkyOdKružnice
.
public static final double vzdialenosťÚsečkyOdKružnice(Poloha[] poleBodov, double r)
Vypočíta vzdialenosť medzi určenou úsečkou AB a kružnicou
so stredom S a polomerom r, pričom body A, B a stred S sú určené
prvkami poľa poleBodov
. To znamená, že pole musí obsahovať
aspoň tri prvky. Prvé dva prvky sú určujúce body úsečky (A a B)
a tretí prvok je stred kružnice (S). Pozri aj opis metódy vzdialenosťÚsečkyOdKružnice
, ktorej
správanie táto metóda kopíruje.
poleBodov
– polohy určujúcich bodov úsečky a poloha stredu
kružnicer
– polomer kružnicepublic static final double vzdialenostUseckyOdKruznice(Poloha[] poleBodov, double r)
Alias pre vzdialenosťÚsečkyOdKružnice
.
public static int početZariadení()
Zistí počet obrazovkových zariadení, ktoré sú dostupné na tomto počítači. Toto je vhodné overiť pred pokusom o prepnutie sveta do režimu celej obrazovky.
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
,
premiestniNaZariadenie(int)
,
zistiZariadenieOkna()
public static int pocetZariadení()
Alias pre početZariadení
.
public static int početObrazoviek()
Alias pre početZariadení
.
public static int pocetObrazoviek()
Alias pre početZariadení
.
public static int šírkaZariadenia()
Zistí šírku dostupného obrazovkového zariadenia.
-
1
znamená chybupočetZariadení()
,
šírkaZariadenia(int)
,
výškaZariadenia()
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
,
zistiZariadenieOkna()
public static int sirkaZariadenia()
Alias pre šírkaZariadenia
.
public static int šírkaObrazovky()
Alias pre šírkaZariadenia
.
public static int sirkaObrazovky()
Alias pre šírkaZariadenia
.
public static int šírkaZariadenia(int zariadenie)
Zistí šírku dostupného obrazovkového zariadenia. Zariadenie je určené jeho „poradovým číslom“ (indexom; čiže nula označuje prvé zariadenie).
zariadenie
– čí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)
,
zistiZariadenieOkna()
public static int sirkaZariadenia(int zariadenie)
Alias pre šírkaZariadenia
.
public static int šírkaObrazovky(int zariadenie)
Alias pre šírkaZariadenia
.
public static int sirkaObrazovky(int zariadenie)
Alias pre šírkaZariadenia
.
public static int výškaZariadenia()
Zistí výšku dostupného obrazovkového zariadenia.
-
1
znamená chybupočetZariadení()
,
šírkaZariadenia()
,
šírkaZariadenia(int)
,
výškaZariadenia(int)
,
celáObrazovka()
,
celáObrazovka(int)
,
celáObrazovka(boolean)
,
celáObrazovka(int, boolean)
,
zistiZariadenieOkna()
public static int vyskaZariadenia()
Alias pre výškaZariadenia
.
public static int výškaObrazovky()
Alias pre výškaZariadenia
.
public static int vyskaObrazovky()
Alias pre výškaZariadenia
.
public static int výškaZariadenia(int zariadenie)
Zistí výšku dostupného obrazovkového zariadenia. Zariadenie je určené jeho „poradovým číslom“ (indexom; čiže nula označuje prvé zariadenie).
zariadenie
– čí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)
,
zistiZariadenieOkna()
public static int vyskaZariadenia(int zariadenie)
Alias pre výškaZariadenia
.
public static int výškaObrazovky(int zariadenie)
Alias pre výškaZariadenia
.
public static int vyskaObrazovky(int zariadenie)
Alias pre výškaZariadenia
.
public static boolean celáObrazovka()
Pokúsi sa prepnúť svet do režimu celej obrazovky.
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)
,
oknoCelejObrazovky()
,
zistiZariadenieOkna()
public static boolean celaObrazovka()
Alias pre celáObrazovka
.
public static boolean celáObrazovka(int zariadenie)
Pokúsi sa prepnúť svet do režimu celej obrazovky na určenom zobrazovacom zariadení. Zariadenie je určené jeho poradovým číslom (indexom; čiže nula označuje prvé zariadenie).
(Príklad použitia tejto metódy je pri opise metódy
celáObrazovka(int zariadenie, boolean celáObrazovka)
.)
zariadenie
– čí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)
,
oknoCelejObrazovky()
,
zistiZariadenieOkna()
public static boolean celaObrazovka(int zariadenie)
Alias pre celáObrazovka
.
public static boolean celáObrazovka(boolean celáObrazovka)
Pokúsi sa prepnúť svet do režimu celej obrazovky alebo späť.
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)
,
oknoCelejObrazovky()
,
zistiZariadenieOkna()
public static boolean celaObrazovka(boolean celáObrazovka)
Alias pre celáObrazovka
.
public static boolean celáObrazovka(int zariadenie, boolean celáObrazovka)
Pokúsi sa prepnúť svet do režimu celej obrazovky alebo späť na určenom zobrazovacom zariadení. Zariadenie je určené jeho „poradovým číslom“ (indexom; čiže nula označuje prvé zariadenie).
Poznámka: 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á nesie význam príkazu
ukončenia aplikácie.
Počas testovania sme tiež zistili, že pri použití hardvérového
prechodu do režimu celej obrazovky je prinajmenšom na platforme
Windows automaticky skrytý kurzor myši a jeho viditeľnosť nie
je možné nijakým spôsobom obnoviť. Pri prechode späť do
„normálneho“ režimu je viditeľnosť kurzora automaticky obnovená.
V prípade potreby je možné použiť na zobrazenie polohy kurzora
niektorý robot, ktorý bude sledovať polohu myši.
Príklad:
import
knižnica.*;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
.zavrieť
(); }// 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
– čí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)
,
oknoCelejObrazovky()
,
zistiZariadenieOkna()
public static boolean celaObrazovka(int zariadenie, boolean celáObrazovka)
Alias pre celáObrazovka
.
public static JFrame oknoCelejObrazovky()
Ak je svet v režime celej obrazovky,
tak táto metóda vráti inštanciu okna
celej
obrazovky, inak metóda vráti hodnotu null
.
okna
alebo null
celáObrazovka()
public static void prenes(JFrame inéOkno, boolean tam)
Prenesie grafiku sveta do iného okna alebo späť. Toto je pokročilá funkcia, ktorá dovoľuje preniesť grafické komponenty sveta (zjednodušene kresliace plátna vrátane robotov) do iného, zákaznícky definovaného okna. Táto funkcia nájde využitie, ak chceme grafiku sveta preniesť do okna bez dekoru, pretože zmeniť tento stav pri jestvujúcom okne (svete) nie je v Jave možné.
Upozornenie: V súčasnosti nie je
možné prenášať komponenty do (a z) inštancií triedy Okno
. (Tieto okná majú vlastný hlavný panel s vlastnými obsluhami udalostí a pokus o prenos by
(aj keď by bol zdanlivo úspešný) vyvolal množstvo kolíznych
situácií.)
Na prevzatie:
Tento príklad: testPrenosuOkna.7z vytvorí okno bez dekoru a bez pozadia. Po spustení sa zobrazí klasické okno. Keď do neho používateľ klikne, okno zmizne a nad všetkými oknami sa zobrazí vlastné okno (bez dekoru a pozadia), čo vytvorí dojem zobrazenia aktuálneho robota (kresleného ako tyrkysovú kružnicu) „vo voľnom priestore“:
Prepnutie späť je možné kliknutím na kružnicu.
Upozornenie: Keďže vlastné okno nemá
pozadie, musí byť pred každým prekreslením volaná metóda
resetujRaster
, inak by sa každé kreslenie
pridalo k predchádzajúcemu nakreslenému obsahu.
inéOkno
– okno, do ktorého alebo z ktorého majú byť prenesené
grafické komponentytam
– smer prenosu: true
– komponenty sa prenesú
do okna; false
– komponenty sa prenesú späťpublic static void prenes(JFrame inéOkno)
Prenesie grafiku sveta do iného okna. Táto metóda vykoná to
isté ako keby sme volali metódu: prenes
(inéOkno,
true
)
.
Podrobnosti sú uvedené v jej opise.
inéOkno
– okno, do ktorého majú byť prenesené grafické
komponentyprenes(JFrame, boolean)
public static boolean zachyťMyš()
Zachytí kurzor myši v okne sveta. Zmení sa tým správanie udalostí pohybu myši a to tak, že od okamihu úspešného zachytenia myši v okne bude kurzor myši automaticky presúvaný do stredu okna po každej udalosti pohybu alebo ťahania myšou a aktuálne súradnice polohy kurzora myši budú indikovať posledný relatívny posun kurzora od tejto polohy (v súlade s tým budú súradnice poslednej polohy kurzora myši indikovať predposledný relatívny posun).
Upozornenie: Zachytenie kurzora myši vyžaduje permanentý nízkoúrovňový prístup ku kurzoru, aby aplikácia mohla viazať jeho polohu k stredu okna. V niektorých prípadoch (napríklad z dôvodu obmedzení operačným systémom alebo pri prístupe cez vzdialenú správu) aplikácia tento prístup nemá. V takom prípade nebude zachytenie kurzora myši fungovať správne.
Tip: Keďže kurzor myši je fixovaný do stredu
okna sveta. Odporúčame kurzor súčasne s jeho zachytením skryť:
zmeňKurzorMyši
(
null
)
.
Príklad:
V tomto príklade je použité zachytenie kurzora myši. Prostredie je nastavené tak, že hlavný robot je ovládaný myšou, pričom vďaka ohraničeniu a zobrazeniu okna sveta na celej obrazovke prechádza cyklicky cez okraje obrazovky.
import
knižnica.*;public
class
ZachytenieMyšiextends
GRobot
{private
ZachytenieMyši() {// Nastav rozmery plátna podľa rozmerov obrazovky (resp. tzv. prvého
// zobrazovacieho zariadenia – prvého monitora):
super
(Svet
.šírkaZariadenia
(),Svet
.výškaZariadenia
());// Nastav vlastnosti robota:
ohranič
();vľavo
(30
);veľkosť
(30
);vypĺňajTvary
();farba
(papierová
);// Nastav vlastnosti sveta (medzi inými aj zachytenie myši v okne):
Svet
.farbaPozadia
(antracitová
);Svet
.zachyťMyš
();Svet
.celáObrazovka
(true
);Svet
.zmeňKurzorMyši
(null
); }@
Overridepublic
void
pohybMyši
() {// Pohyb robota podľa pohybu myši:
if
(Svet
.myšJeZachytená
())skoč
(ÚdajeUdalostí
.polohaMyšiX
(),ÚdajeUdalostí
.polohaMyšiY
());else
// Táto vetva zaručí, že keby zachytenie myši zlyhalo,
// ovládanie bude fungovať relatívne správne:
skočNa
(ÚdajeUdalostí
.polohaMyši
()); }public
static
void
main(String
[] args) {new
ZachytenieMyši(); } }
true
v prípade úspešnej operácieuvoľniMyš()
,
myšJeZachytená()
public static boolean zachytMys()
Alias pre zachyťMyš
.
public static boolean uvoľniMyš()
Zruší zachytenie kurzora myš v okne sveta. Pozri metódu zachyťMyš
.
true
v prípade úspešnej operáciezachyťMyš()
,
myšJeZachytená()
public static boolean uvolniMys()
Alias pre uvoľniMyš
.
public static boolean myšJeZachytená()
Overí, či je myš zachytená v okne sveta. Pozri metódu zachyťMyš
.
true
ak je myš zachytenázachyťMyš()
,
uvoľniMyš()
public static boolean mysJeZachytena()
Alias pre myšJeZachytená
.
public 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. Klávesové skratky sú spracúvané
udalosťou 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 (predtým OS X a Mac OS) je to
kláves ⌘
(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
.
Poznámka: Príklad použitia nájdete
napríklad v opise vnorenej triedy Svet.PríkazovýRiadok
.
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)
,
pridajKlávesovúSkratkuVstupnéhoRiadka(String, int, int)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
,
skratkyStropu()
,
skratkyStropu(boolean)
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
public static void pridajKlavesovuSkratku(String príkaz, int kódKlávesu)
Alias pre pridajKlávesovúSkratku
.
public 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. Klávesové skratky sú spracúvané udalosťou ObsluhaUdalostí.klávesováSkratka()
,
ktorá používa metódu ÚdajeUdalostí.príkazSkratky()
na identifikáciu príkazu.
Poznámka: Príklad použitia nájdete
napríklad v opise vnorenej triedy Svet.PríkazovýRiadok
.
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ý modifikátor ponúk, ktorý je
závislý od operačného systému definuje rezervovaný
identifikátor Kláves.SKRATKA_PONUKY
; 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)
,
pridajKlávesovúSkratkuVstupnéhoRiadka(String, int, int)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
,
skratkyStropu()
,
skratkyStropu(boolean)
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
public static void pridajKlavesovuSkratku(String príkaz, int kódKlávesu, int modifikátor)
Alias pre pridajKlávesovúSkratku
.
public 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. Klávesové skratky sú spracúvané udalosťou 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. Naopak, v niektorých prípadoch je žiadúce definovať
klávesovú skratku len pre vstupný riadok. Na tieto prípady je
rezervovaná samostatná metóda pridajKlávesovúSkratkuVstupnéhoRiadka
.
Poznámka: Príklad použitia nájdete
napríklad v opise vnorenej triedy Svet.PríkazovýRiadok
.
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ý modifikátor ponúk, ktorý je
závislý od operačného systému definuje rezervovaný
identifikátor Kláves.SKRATKA_PONUKY
; 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)
,
pridajKlávesovúSkratkuVstupnéhoRiadka(String, int, int)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
,
skratkyStropu()
,
skratkyStropu(boolean)
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
public static void pridajKlavesovuSkratku(String príkaz, int kódKlávesu, int modifikátor, boolean ajVstupnýRiadok)
Alias pre pridajKlávesovúSkratku
.
public static void pridajKlávesovúSkratkuVstupnéhoRiadka(String príkaz, int kódKlávesu, int modifikátor)
Definuje novú klávesovú skratku pre vstupný riadok, ktorá bude
previazaná so zadaným príkazom. Klávesové skratky sú spracúvané
udalosťou ObsluhaUdalostí.klávesováSkratka()
, ktorá používa metódu
ÚdajeUdalostí.príkazSkratky()
na identifikáciu príkazu.
Toto je doplnková metóda, ktorá umožňuje definovať skupinu
klávesových skratiek, ktoré budú použiteľné len vo vstupnom riadku.
Na definovanie klávesových skratiek hlavného okna slúži množina
metód pridajKlávesovúSkratku
.
Upozornenie: Táto metóda odoberie
prípadnú skratku definovanú pre hlavné okno (t. j. prostredníctvom
niektorej z metód pridajKlávesovúSkratku
) a túto skratku je možné odobrať (rovnako
ako skratky hlavného okna) volaním metódy odoberKlávesovúSkratku
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ý modifikátor ponúk, ktorý je
závislý od operačného systému definuje rezervovaný
identifikátor Kláves.SKRATKA_PONUKY
; 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)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
,
skratkyStropu()
,
skratkyStropu(boolean)
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
public static void pridajKlavesovuSkratkuVstupnehoRiadka(String príkaz, int kódKlávesu, int modifikátor)
Alias pre pridajKlávesovúSkratkuVstupnéhoRiadka
.
public static void odoberKlávesovúSkratku(String príkaz)
Odoberie definovanú klávesovú skratku, ktorá je previazaná so zadaným príkazom. Príkaz odoberie skratky zo zoznamu skratiek hlavného okna aj vstupného riadka.
príkaz
– príkaz, ktorý je previazaný s niektorou
klávesovou skratkoupridajKlávesovúSkratku(String, int)
,
pridajKlávesovúSkratku(String, int, int)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
pridajKlávesovúSkratkuVstupnéhoRiadka(String, int, int)
,
skratkaPríkazu(String)
,
reťazecSkratkyPríkazu(String)
,
skratkyStropu()
,
skratkyStropu(boolean)
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
public static void odoberKlavesovuSkratku(String príkaz)
Alias pre odoberKlávesovúSkratku
.
public static KeyStroke skratkaPríkazu(String príkaz)
Táto metóda zistí, aká klávesová skratka je priradená zadanému
príkazu. Ak taká skratka nejestvuje, metóda vráti hodnotu
null
.
Metóda nedokáže rozlíšiť, či je skratka platná pre hlavné okno a/alebo vstupný riadok, preto ak rozlišujete medzi skratkami definovanými pre vstupný riadok a hlavné okno, tak odporúčame pre nich zvoliť unikátne názvy.
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)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
pridajKlávesovúSkratkuVstupnéhoRiadka(String, int, int)
,
odoberKlávesovúSkratku(String)
,
reťazecSkratkyPríkazu(String)
,
skratkyStropu()
,
skratkyStropu(boolean)
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
public static KeyStroke skratkaPrikazu(String príkaz)
Alias pre skratkaPríkazu
.
public 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. Ak taká skratka
nejestvuje, tak metóda vráti hodnotu null
.
Metóda nedokáže rozlíšiť, či je skratka platná pre hlavné okno a/alebo vstupný riadok, preto ak rozlišujete medzi skratkami definovanými pre vstupný riadok a hlavné okno, tak odporúčame pre nich zvoliť unikátne názvy.
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)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
pridajKlávesovúSkratkuVstupnéhoRiadka(String, int, int)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
,
skratkyStropu()
,
skratkyStropu(boolean)
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
public static String retazecSkratkyPrikazu(String príkaz)
Alias pre reťazecSkratkyPríkazu
.
public static void skratkyStropu(boolean zapnúť)
Zapne alebo vypne fungovanie niekoľkých predvolených skratiek
vnútornej konzoly stropu. Predvolene sú tieto skratky vypnuté.
Ide o tieto skratky, z ktorých niektoré sú kombinované
s predvoleným modifikátorom skratiek ponuky (Ctrl na Windows, ⌘/Command na macOS; tu označené
ako C
) a niektoré s modifikátorom Shift (tu označené ako
S
):
Kláves
.
HOME
–
roluje texty stropu (t. j. jeho konzoly) na začiatok.Kláves
.
END
–
roluje texty stropu na koniec.Kláves
.
HORE
–
roluje texty stropu o riadok vyššie.Kláves
.
DOLE
–
roluje texty stropu o riadok nižšie.Kláves
.
PAGE_UP
– roluje texty stropu o stránku
vyššie.Kláves
.
PAGE_DOWN
– roluje texty stropu o stránku
nižšie.C
+ Kláves
.
VK_A
– označí všetky texty konzoly (stropu).Kláves
.
ESCAPE
alebo C
+ S
+ Kláves
.
VK_A
– zruší označenie
textov konzoly.C
+ Kláves
.
VK_C
– skopíruje označené texty do schránky.Spolu so skratkami je aktivoavané základné ovládanie myšou:
kliknutím a ťahaním ľavého tlačidla myši sa dajú označovať texty
stropu (v súčasnosti je označovanie implementované len po tzv.
blokoch výpisu) a stlačenie pravého tlačidla myši skopíruje texty
do schránky a zruší ich označenie (čo je sprevádzané pípnutím).
Klasicky je staré označenie pri začatí nového ťahania myšou
zrušené, ak je však pri tom držaný kláves Ctrl
, nové
označenie je pridané k starému.
zapnúť
– true
, ak majú byť skratky zapnuté,
false
v opačnomskratkyStropu()
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
,
pridajKlávesovúSkratku(String, int)
,
pridajKlávesovúSkratku(String, int, int)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
pridajKlávesovúSkratkuVstupnéhoRiadka(String, int, int)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
public static boolean skratkyStropu()
Overí, či sú zapnuté preddefinované skratky stropu. Viac
detailov je v opise metódy skratkyStropu(zapnúť)
.
true
, ak sú skratky zapnuté, false
v opačnom prípadeskratkyStropu(boolean)
,
skratkyPodlahy()
,
skratkyPodlahy(boolean)
,
pridajKlávesovúSkratku(String, int)
,
pridajKlávesovúSkratku(String, int, int)
,
pridajKlávesovúSkratku(String, int, int, boolean)
,
pridajKlávesovúSkratkuVstupnéhoRiadka(String, int, int)
,
odoberKlávesovúSkratku(String)
,
skratkaPríkazu(String)
public static void skratkyPodlahy(boolean zapnúť)
Zapne alebo vypne fungovanie niekoľkých predvolených skratiek
vnútornej konzoly podlahy. Predvolene sú tieto skratky vypnuté.
Ide o rovnaké skratky ako v prípade stropu – pozri metódu
skratkyStropu
.
zapnúť
– true
, ak majú byť skratky zapnuté,
false
v opačnomskratkyPodlahy()
,
skratkyStropu()
,
skratkyStropu(boolean)
public static boolean skratkyPodlahy()
Overí, či sú zapnuté preddefinované skratky podlahy. Viac
detailov je v opise metódy skratkyPodlahy(zapnúť)
.
true
, ak sú skratky zapnuté, false
v opačnom prípadeskratkyPodlahy(boolean)
,
skratkyStropu()
,
skratkyStropu(boolean)
public static boolean máVlnenie()
Overí, či má svet definovanú inštanciu vlnenia.
true
ak je inštancia vlnenia definovaná;
false
v opačnom prípadevlnenie()
,
jestvujúceVlnenie()
,
pridajVlnenie()
,
pridajVlnenie(boolean)
,
pridajVlnenie(int)
,
pridajVlnenie(int, boolean)
,
odstráňVlnenie()
public static boolean maVlnenie()
Alias pre máVlnenie
.
public static Vlnenie vlnenie()
Vráti inštanciu vlnenia sveta, aby s ňou
bolo možné ďalej pracovať. Ak svet nemá definované vlnenie, tak
metóda definuje nové neaktívne vlnenie s predvolenou úrovňou
útlmu 26
. (Overiť to, či je definovaná
inštancia vlnenia, je možné pomocou metódy máVlnenie
.) Naopak, metóda jestvujúceVlnenie
vráti inštanciu vlnenia len v takom prípade,
že jestvuje. (V opačnom prípade vráti metóda
jestvujúceVlnenie
hodnotu
null
.)
Poznámka: Aby mohlo byť vlnenie automaticky vykonávané, tak v prípade vytvorenia novej inštancie ju táto metóda automaticky registruje v prostredí grafického robota.
Upozornenie: Ak svet grafického
robota nemá aktívny časovač,
tak vlnenie nebude fungovať ani po jeho aktivácii. Táto metóda
nespúšťa časovač (ani vlnenie) automaticky! Účelom
automatického vytvorenia inštancie vlnenia touto metódou
v prípade jej neprítomnosti je len zabránenie vzniku chýb.
Táto metóda nemá nahradiť metódu pridajVlnenie
.
Vlnenie
definovanej pre svet aj v takom prípade, že pred jej
volaním nebola inštancia definovanámáVlnenie()
,
jestvujúceVlnenie()
,
pridajVlnenie()
,
pridajVlnenie(boolean)
,
pridajVlnenie(int)
,
pridajVlnenie(int, boolean)
,
odstráňVlnenie()
public static Vlnenie jestvujúceVlnenie()
Táto metóda vráti inštanciu vlnenia len v prípade, že jestvuje.
V opačnom prípade vráti hodnotu null
, čo môže viesť
ku vzniku výnimky, ak sa programátor pokúsi použiť vrátenú
hodnotu bez overenia. Naopak, vrátenie inštancie
vlnenia aj v prípade, že ešte nebolo
definované zaručuje metóda vlnenie
.
null
máVlnenie()
,
vlnenie()
,
pridajVlnenie()
,
pridajVlnenie(boolean)
,
pridajVlnenie(int)
,
pridajVlnenie(int, boolean)
,
odstráňVlnenie()
public static Vlnenie jestvujuceVlnenie()
Alias pre jestvujúceVlnenie
.
public static Vlnenie existujúceVlnenie()
Alias pre jestvujúceVlnenie
.
public static Vlnenie existujuceVlnenie()
Alias pre jestvujúceVlnenie
.
public static Vlnenie definovanéVlnenie()
Alias pre jestvujúceVlnenie
.
public static Vlnenie definovaneVlnenie()
Alias pre jestvujúceVlnenie
.
public static void pridajVlnenie()
Pridá alebo zresetuje vlnenie sveta. Ak svet nemá definované
alebo aktívne vlnenie, tak volanie tejto metódy vytvorí a/alebo
aktivuje novú inštanciu vlnenia s predvolenou úrovňou útlmu
26
.
Poznámka: Aby mohlo byť vlnenie automaticky vykonávané, tak v prípade vytvorenia novej inštancie ju táto metóda automaticky registruje v prostredí grafického robota.
Ak by svet grafického robota nemal aktívny časovač, tak by vlnenie nemohlo fungovať, preto je časovač touto metódou spúšťaný automaticky.
Inštanciu vlnenia je možné získať a pracovať s ňou pomocou
metódy vlnenie
alebo jestvujúceVlnenie
.
Pozor! Ak vlnenie nie je definované,
tak metóda vlnenie
definuje nové neaktívne
vlnenie s predvolenou úrovňou útlmu 26
. Overiť to, či
je definovaná inštancia vlnenia, je možné pomocou metódy
máVlnenie
. Metóda
jestvujúceVlnenie
vráti inštanciu
vlnenia len v prípade, že jestvuje. V opačnom prípade vráti hodnotu
null
, čo môže viesť ku vzniku výnimky, ak sa
programátor pokúsi použiť vrátenú hodnotu bez overenia.
Ak už je definovaná inštancia vlnenia, tak ju volanie tejto
metódy zresetuje upokojením hladiny a nastavením predvolenej
úrovne útlmu 26
.
(Aktivácia je vykonaná v každom prípade.)
public static void pridajVlnenie(boolean ajČasovač)
Pridá alebo zresetuje vlnenie sveta. Ak svet nemá definované
alebo aktívne vlnenie, tak volanie tejto metódy vytvorí a/alebo
aktivuje novú inštanciu vlnenia s predvolenou úrovňou útlmu
26
.
Poznámka: Aby mohlo byť vlnenie automaticky vykonávané, tak v prípade vytvorenia novej inštancie ju táto metóda automaticky registruje v prostredí grafického robota.
Pozor! Ak svet grafického robota nemá
aktívny časovač, tak vlnenie
nebude fungovať. Táto metóda dovoľuje určiť, či má alebo nemá
byť časovač spustený automaticky. Umožňuje to parameter
ajČasovač
.
Inštanciu vlnenia je možné získať a pracovať s ňou pomocou
metódy vlnenie
alebo jestvujúceVlnenie
.
Pozor! Ak vlnenie nie je definované,
tak metóda vlnenie
definuje nové neaktívne
vlnenie s predvolenou úrovňou útlmu 26
. Overiť to, či
je definovaná inštancia vlnenia, je možné pomocou metódy
máVlnenie
. Metóda
jestvujúceVlnenie
vráti inštanciu
vlnenia len v prípade, že jestvuje. V opačnom prípade vráti hodnotu
null
, čo môže viesť ku vzniku výnimky, ak sa
programátor pokúsi použiť vrátenú hodnotu bez overenia.
Ak už je definovaná inštancia vlnenia, tak ju volanie tejto
metódy zresetuje upokojením hladiny a nastavením predvolenej
úrovne útlmu 26
.
(Aktivácia je vykonaná v každom prípade.)
ajČasovač
– ak je hodnota tohto parametra rovná
true
, tak je v prípade jeho nečinnosti
automaticky spustený časovačmáVlnenie()
,
vlnenie()
,
jestvujúceVlnenie()
,
pridajVlnenie()
,
pridajVlnenie(int)
,
pridajVlnenie(int, boolean)
,
odstráňVlnenie()
public static void pridajVlnenie(int útlm)
Pridá alebo zresetuje vlnenie sveta. Ak svet nemá definované
alebo aktívne vlnenie, tak volanie tejto metódy vytvorí a/alebo
aktivuje novú inštanciu vlnenia so zadanou úrovňou útlmu (pozri
aj Vlnenie.útlm(útlm)
).
Poznámka: Aby mohlo byť vlnenie automaticky vykonávané, tak v prípade vytvorenia novej inštancie ju táto metóda automaticky registruje v prostredí grafického robota.
Ak by svet grafického robota nemal aktívny časovač, tak by vlnenie nemohlo fungovať, preto je časovač touto metódou spúšťaný automaticky.
Inštanciu vlnenia je možné získať a pracovať s ňou pomocou
metódy vlnenie
alebo jestvujúceVlnenie
.
Pozor! Ak vlnenie nie je definované,
tak metóda vlnenie
definuje nové neaktívne
vlnenie s predvolenou úrovňou útlmu 26
. Overiť to, či
je definovaná inštancia vlnenia, je možné pomocou metódy
máVlnenie
. Metóda
jestvujúceVlnenie
vráti inštanciu
vlnenia len v prípade, že jestvuje. V opačnom prípade vráti hodnotu
null
, čo môže viesť ku vzniku výnimky, ak sa
programátor pokúsi použiť vrátenú hodnotu bez overenia.
Ak už je definovaná inštancia vlnenia, tak ju volanie tejto metódy zresetuje upokojením hladiny a nastavením zadanej úrovne útlmu. (Aktivácia je vykonaná v každom prípade.)
útlm
– požadovaná úroveň útlmu vlnenia; odporúčané sú
hodnoty v rozmedzí 0 – 30; pozri aj Vlnenie.útlm(útlm)
máVlnenie()
,
vlnenie()
,
jestvujúceVlnenie()
,
pridajVlnenie()
,
pridajVlnenie(boolean)
,
pridajVlnenie(int, boolean)
,
odstráňVlnenie()
,
Vlnenie.útlm(int)
public static void pridajVlnenie(int útlm, boolean ajČasovač)
Pridá alebo zresetuje vlnenie sveta. Ak svet nemá definované
alebo aktívne vlnenie, tak volanie tejto metódy vytvorí a/alebo
aktivuje novú inštanciu vlnenia so zadanou úrovňou útlmu (pozri
aj Vlnenie.útlm(útlm)
)
Poznámka: Aby mohlo byť vlnenie automaticky vykonávané, tak v prípade vytvorenia novej inštancie ju táto metóda automaticky registruje v prostredí grafického robota.
Pozor! Ak svet grafického robota nemá
aktívny časovač, tak vlnenie
nebude fungovať. Táto metóda dovoľuje určiť, či má alebo nemá
byť časovač spustený automaticky. Umožňuje to parameter
ajČasovač
.
Inštanciu vlnenia je možné získať a pracovať s ňou pomocou
metódy vlnenie
alebo jestvujúceVlnenie
.
Pozor! Ak vlnenie nie je definované,
tak metóda vlnenie
definuje nové neaktívne
vlnenie s predvolenou úrovňou útlmu 26
. Overiť to, či
je definovaná inštancia vlnenia, je možné pomocou metódy
máVlnenie
. Metóda
jestvujúceVlnenie
vráti inštanciu
vlnenia len v prípade, že jestvuje. V opačnom prípade vráti hodnotu
null
, čo môže viesť ku vzniku výnimky, ak sa
programátor pokúsi použiť vrátenú hodnotu bez overenia.
Ak už je definovaná inštancia vlnenia, tak ju volanie tejto metódy zresetuje upokojením hladiny a nastavením zadanej úrovne útlmu. (Aktivácia je vykonaná v každom prípade.)
útlm
– požadovaná úroveň útlmu vlnenia; odporúčané sú
hodnoty v rozmedzí 0 – 30; pozri aj Vlnenie.útlm(útlm)
ajČasovač
– ak je hodnota tohto parametra rovná
true
, tak je v prípade jeho nečinnosti
automaticky spustený časovačmáVlnenie()
,
vlnenie()
,
jestvujúceVlnenie()
,
pridajVlnenie()
,
pridajVlnenie(boolean)
,
pridajVlnenie(int)
,
odstráňVlnenie()
,
Vlnenie.útlm(int)
public static void odstráňVlnenie()
Ukončí vlnenie sveta a úplne odstráni inštanciu vlnenia, ktorá bola pre neho definovaná z prostredia programovacieho rámca GRobot.
public static void odstranVlnenie()
Alias pre odstráňVlnenie
.