|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object animace.label.MoveablePicture
public class MoveablePicture
Třída MoveablePicture poskytuje ukázku, jak by měli vypadat grafické komponenty pro třídu animace.label.PictureLabel. Tedy komponenty pro systém, kde se programátor stará o vykreslování sám. Podstatný je princip vykreslování. Objekt pri nějaké změně (pohyb) nastaví proměnou needUpdate na true a volá repaint(). Metoda repaint() je volána s parametry označující tzv. dirty region. Takto by měla být tato metoda volána pokaždé, jinak dochází často zbytečně k překreslováni celé obrazovky (panelu). I když není potřeba objekt překreslit, protože na něm nedošlo ke změně (needUpdate nastaveno na false), musíme ještě otestovat, zda jej jiný objekt "nepřejel", to se zjistí z Clip oblasti nastavené v Graphics g. Viz níže metoda paint(Graphics g). Dále stojí za povšimnuti, že je implementováno přidávání posluchačů udalostí stejně, jako jsme zvyklí u klasických komponent, tedy metodou add"Něco"Listener, v tomto případě addActionListener. To je proto, že lze očekávat, že se na objekty bude klikat. V komponentě, na které tyto objekty visí, je nutné ještě zajistit, že bude volat metodu processEvent(...) nad tou komponentou, na kterou uživatel kliknul. Je toho dost co musíme napsat, abychom zajistili základní funkčnost.
Field Summary | |
---|---|
boolean |
needUpdate
Indikuje, že na objetku nastaly změny, a že je nutné jej znovu překreslit. |
Constructor Summary | |
---|---|
MoveablePicture(java.awt.Component owner,
java.awt.image.BufferedImage img)
Konstruktor vyžaduje jako parametr grafického vlastnika (rodiče) objektu, tedy nejakou Componentu na ktere spočívá. |
Method Summary | |
---|---|
void |
addActionListener(java.awt.event.ActionListener newActionListener)
Metoda addActionListener, jak jsme zvyklí z java.AWT.Component Zde implementována pomocí třídy AWTEventMulticaster. |
boolean |
contains(java.awt.Point point)
Vrací true, jestliže objekt obsahuje určitý bod, hodi se pri testu na kliknuti |
int |
getHeight()
Vrací víšku obrázku |
java.awt.image.BufferedImage |
getImage()
Vrací obrázek |
java.awt.Point |
getLocation()
Metoda z rozhrani Moveable, Funguje standardně, vrací pozici objektu |
PaintControl |
getPaintControl()
Metoda z rozhraní PaintControled |
java.awt.Dimension |
getPrefferedSize()
Vrací preferovanou velikost - rozměry obrázku. |
int |
getWidth()
Vrací šířku obrázku |
void |
paint(java.awt.Graphics g)
Nakreslí tento objekt do grafického kontextu předaného parametrem. |
void |
processEvent(java.awt.AWTEvent e)
Metoda processEvent, kterou bude volat zejména předek objektu, v našem případě PictureLabel, provede zavolání metody actionPerformed(...) nad všemi zaregistrovanými posluchači. |
void |
setLocation(int x,
int y)
Metoda z rozhraní Moveable. |
void |
setPaintControl(PaintControl pc)
Metoda z rozhraní PaintControled |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public boolean needUpdate
Constructor Detail |
---|
public MoveablePicture(java.awt.Component owner, java.awt.image.BufferedImage img)
owner
- Componenta, na které je MoveablePicture nakreslenimg
- vlastní obrázek, který se bude pohybovatMethod Detail |
---|
public void paint(java.awt.Graphics g)
public java.awt.image.BufferedImage getImage()
public java.awt.Dimension getPrefferedSize()
public int getWidth()
public int getHeight()
public void setLocation(int x, int y)
setLocation
in interface Moveable
public java.awt.Point getLocation()
getLocation
in interface Moveable
public void setPaintControl(PaintControl pc)
setPaintControl
in interface PaintControled
pc
- PaintControler který bude hlídat kreslení objektu.public PaintControl getPaintControl()
getPaintControl
in interface PaintControled
public void addActionListener(java.awt.event.ActionListener newActionListener)
public void processEvent(java.awt.AWTEvent e)
public boolean contains(java.awt.Point point)
point
- bod, který je testován, zda leží na obrazku
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |