Package eu.pedu.lib20s.canvasmanager
Class Picture
java.lang.Object
eu.pedu.lib20s.canvasmanager.Picture
- All Implemented Interfaces:
ICMPaintable
,ICMShape
,IDirectable
,IFlexible
,IChangeable
,IMovable
,IResizable
,IShape
,ICopyable
public class Picture extends java.lang.Object implements ICMShape, IDirectable, ICopyable
Instance třídy
Picture
představují obrázky,
které je možné načíst ze souborů nebo vytvořit z oblasti plátna.-
Field Summary
-
Constructor Summary
Constructors Constructor Description Picture(int x, int y, java.awt.Image image)
Vytvoří nový obrázek ze zadaného obrázku - instance třídyjava.awt.Image
a umístí jej do počátku.Picture(int x, int y, java.lang.String file)
Přečte ze zadaného souboru obrázek, který bude kreslit na zadaných souřadnicích; pomocí úvodních hvězdiček je možno zadat, zda se daný soubor bude hledat ve složce balíčku třídy volající metody (pak musí jméno předcházet */), nebo ve složce kořenového balíčku (pak musí předcházet **/);Picture(int x, int y, java.net.URL url)
Přečte ze zadané URL adresy obrázek, který bude kreslit na zadaných souřadnicích; pomocí úvodních hvězdiček je možno zadat, zda se daný soubor bude hledat ve složce balíčku třídy volající metody (pak musí jméno předcházet */), nebo ve složce kořenového balíčku (pak musí předcházet **/); -
Method Summary
Modifier and Type Method Description Picture
copy()
Vrátí kopii daného tvaru, tj. stejný obrázek, stejně velký a stejně umístěný.Direction8
getDirection()
Vrátí směr, do nějž je instance otočena.int
getHeight()
Vrátí výšku instance v bodech.java.lang.String
getName()
Vrátí název instance.int
getWidth()
Vrátí šířku instance v bodech.int
getX()
Vrátí x-ovou (vodorovnou) souřadnici pozice instance, tj. vodorovnou souřadnici levého horního rohu opsaného obdélníku.int
getY()
Vrátí y-ovou (svislou) souřadnici pozice instance, tj. svislou souřadnici levého horního rohu opsaného obdélníku.void
paint(Painter painter)
Prostřednictvím dodaného kreslítka vykreslí obraz své instance.void
setDirection(Direction8 direction)
Otočí instanci do zadaného směru.void
setDirSize(Direction8 direction, int width, int height)
Otočí instanci do zadaného směru a přitom jí nastaví požadovanou výšku a šířku.Picture
setInitialDirection(Direction8 initialDirection)
Nastaví zadaný směr jako výchozí směr vytvářené instance.void
setName(java.lang.String name)
Nastaví nový název instance.void
setPosition(int x, int y)
Přemístí instanci na zadanou pozici.void
setSize(int width, int height)
Nastaví nové rozměry instance.java.lang.String
toString()
Vrátí textový podpis instance, tj. její řetězcovou reprezentaci.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface eu.pedu.lib20s.geom.IMovable
getPosition, moveDown, moveRight, setPosition, setX, setY
-
Field Details
-
Constructor Details
-
Picture
public Picture(int x, int y, java.lang.String file)Přečte ze zadaného souboru obrázek, který bude kreslit na zadaných souřadnicích; pomocí úvodních hvězdiček je možno zadat, zda se daný soubor bude hledat ve složce balíčku třídy volající metody (pak musí jméno předcházet */), nebo ve složce kořenového balíčku (pak musí předcházet **/);- Parameters:
x
- Vodorovná souřadnice levého horního rohu obrázkuy
- Svislá souřadnice levého horního rohu obrázkufile
- Název souboru, v němž je obrázek uložen
-
Picture
public Picture(int x, int y, java.net.URL url)Přečte ze zadané URL adresy obrázek, který bude kreslit na zadaných souřadnicích; pomocí úvodních hvězdiček je možno zadat, zda se daný soubor bude hledat ve složce balíčku třídy volající metody (pak musí jméno předcházet */), nebo ve složce kořenového balíčku (pak musí předcházet **/);- Parameters:
x
- Vodorovná souřadnice levého horního rohu obrázkuy
- Svislá souřadnice levého horního rohu obrázkuurl
- URL adresa obrázku
-
Picture
public Picture(int x, int y, java.awt.Image image)Vytvoří nový obrázek ze zadaného obrázku - instance třídyjava.awt.Image
a umístí jej do počátku.- Parameters:
x
- Vodorovná souřadnice levého horního rohu obrázkuy
- Svislá souřadnice levého horního rohu obrázkuimage
- Instance třídyjava.awt.Image
, která bude základem obrázku.
-
-
Method Details
-
getDirection
Vrátí směr, do nějž je instance otočena.- Specified by:
getDirection
in interfaceIDirectable
- Returns:
- Instance třídy
Direction8
definující aktuálně nastavený směr
-
setDirection
Otočí instanci do zadaného směru. Souřadnice instance se otočením nezmění.- Specified by:
setDirection
in interfaceIDirectable
- Parameters:
direction
- Směr, do nějž má být instance otočena
-
setInitialDirection
Nastaví zadaný směr jako výchozí směr vytvářené instance. Tato metoda instancí neotáčí, pouze nastavují výchozí směr. Instance je implicitně považována za otočenou na sever. Má-li mít instance jiný výchozí směr, musí být nastaven před jeho prvním použitím, tj. před tím, než bude poprvé zavolána metodasetDirection(Direction8)
, resp.getDirection()
. Smí se zavolat pouze jednou.- Parameters:
initialDirection
- Nastavovaný výchozí směr instance- Returns:
- Odkaz na instanci, aby bylo možno metodu zavolat jakou součást volání konstruktoru, což je doporučovaný postup
- Throws:
java.lang.IllegalStateException
- Pokud byl počáteční směr již nastaven nebo použit
-
getName
public java.lang.String getName()Vrátí název instance. Výchozí podoba názvu názvu sestává z názvu třídy následovaného znakem podtržení a ID instance. Název je ale možné kdykoliv změnit.- Returns:
- Název instance
-
setName
public void setName(java.lang.String name)Nastaví nový název instance.- Parameters:
name
- Nový název instance
-
getX
public int getX()Vrátí x-ovou (vodorovnou) souřadnici pozice instance, tj. vodorovnou souřadnici levého horního rohu opsaného obdélníku. -
getY
public int getY()Vrátí y-ovou (svislou) souřadnici pozice instance, tj. svislou souřadnici levého horního rohu opsaného obdélníku. -
setPosition
public void setPosition(int x, int y)Přemístí instanci na zadanou pozici. Všechny její součásti jsou přesouvány současně jako jeden objekt. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku.- Specified by:
setPosition
in interfaceIMovable
- Parameters:
x
- Nově nastavovaná vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste dopravay
- Nově nastavovaná svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolů
-
getWidth
public int getWidth()Vrátí šířku instance v bodech. Šířka instance jsou přitom definována jako šířka opsaného obdélníku.- Specified by:
getWidth
in interfaceIResizable
- Returns:
- Aktuální šířka instance v bodech
-
getHeight
public int getHeight()Vrátí výšku instance v bodech. Výška instance jsou přitom definována jako výška opsaného obdélníku.- Specified by:
getHeight
in interfaceIResizable
- Returns:
- Aktuální výška instance v bodech
-
setSize
public void setSize(int width, int height)Nastaví nové rozměry instance. Rozměry instance jsou přitom definovány jako rozměry opsaného obdélníku. Nastavované rozměry musí být nezáporné, místo nulového rozměru se nastaví rozměr rovný jedné.- Specified by:
setSize
in interfaceIResizable
- Parameters:
width
- Nově nastavovaná šířka; šířka >= 0height
- Nově nastavovaná výška; výška >= 0
-
copy
Vrátí kopii daného tvaru, tj. stejný obrázek, stejně velký a stejně umístěný. -
paint
Prostřednictvím dodaného kreslítka vykreslí obraz své instance.- Specified by:
paint
in interfaceICMPaintable
- Parameters:
painter
- Kreslítko schopné kreslit na plátno ovládané správcem
-
toString
public java.lang.String toString()Vrátí textový podpis instance, tj. její řetězcovou reprezentaci. Používá se především při ladění.- Overrides:
toString
in classjava.lang.Object
- Returns:
- Název instance následovaný jejími souřadnicemi, rozměry a barvou
-
setDirSize
Otočí instanci do zadaného směru a přitom jí nastaví požadovanou výšku a šířku.- Parameters:
direction
- Nově nastavovaný směrwidth
- Nově nastavovaná šířka; šířka >= 0height
- Nově nastavovaná výška; výška >= 0
-