public abstract class AbstractView extends AbstractDrawableObject implements MouseEventDrawableSource
GroupView
reprezentujuci skupinu do ktorej mozno pridavat zobrazitelne objekty.
Metody add(AbstractDrawableObject)
a remove(AbstractDrawableObject)
sluzia na pridavanie a odoberanie objektov do/zo skupiny.
Metoda getBaseGroup()
vracia referenciu na skupinu objektov.
Tato referencia umoznuje vyuzit dalsie metody skupiny, napr. praca s polohou, rotaciu, pridavanie listenerov.
//chceme aby sa dala zistovat pozicia, ale aby sa nedala menit zvonku //preto dedime od AbstractView a musime doplnit definiciu metody getPosition() public class House extends AbstractView{ private PolygonView roof; private RectangleView wall; public House(GroupView parent, double positionX, double positionY) { super(parent, positionX, positionY, 0); add( roof = new PolygonView(0, -20, Color.RED, true, 20,0, 0,-20, -20,0)); add( wall = new RectangleView(0, -10, 30, 20, 0, Color.LIGHT_GRAY, true)); } public Position getPosition() { return getBaseGroup().getPosition(); } } public static void main(String[] args) { MainWindow window = new MainWindow("vytvorenie triedy dediacej od AbstractView"); window.setVisible(true); GroupView group = window.getRootGroup(); House house = new House(group, 100, 100); Position position = house.getPosition(); }
Constructor and Description |
---|
AbstractView(GroupView parent,
double positionX,
double positionY,
double rotation)
Nastavenie podla parametrov
|
AbstractView(GroupView parent,
Position position,
double rotation)
Nastavenie podla parametrov
|
Modifier and Type | Method and Description |
---|---|
protected void |
add(AbstractDrawableObject view)
Prida do skupiny objektov dalsi objekt.
|
void |
addDrawableChangeListener(DrawableChangeListener listener)
Prida
listener , ktory bude informovany o zmenach objektu |
void |
addMouseChangedListener(MouseChangedListener listener) |
boolean |
containsInternal(Position position) |
void |
draw(java.awt.Graphics2D g2d)
Vykreslenie objektu.
|
protected GroupView |
getBaseGroup()
Vrati referenciu na skupinu objektov ktoru instancia obsahuje
|
protected void |
remove(AbstractDrawableObject view)
Vyberie zo skupiny objekt.
|
void |
removeDrawableChangeListener(DrawableChangeListener listener)
Odstrani
listener zo zoznamu listenerov |
void |
removeMouseChangedListener(MouseChangedListener listener) |
void |
setMouseManager(MouseManager manager) |
java.lang.String |
toString() |
externalToInternalCoordinates, fireChanged, getParent, globalToInternalCoordinates, internalToExternalCoordinates, internalToGlobalCoordinates, setParent, throwIfNegative
public AbstractView(GroupView parent, double positionX, double positionY, double rotation)
parent
- skupina do ktorej bude patrit nova instanciapositionX
- x-ova zlozka pozicie novej instancie (relativne, vzhladom na poziciu skupiny do ktorej patri)positionY
- y-ova zlozka pozicie novej instancie (relativne, vzhladom na poziciu skupiny do ktorej patri)rotation
- natocenie novej instancie (relativne, vzhladom na skupinu do ktorej patri)public AbstractView(GroupView parent, Position position, double rotation)
parent
- skupina do ktorej bude patrit nova instanciaposition
- pozicia novej instancie (relativne, vzhladom na poziciu skupiny do ktorej patri}rotation
- natocenie novej instancie (relativne, vzhladom na skupinu do ktorej patri)protected GroupView getBaseGroup()
protected void add(AbstractDrawableObject view)
getBaseGroup().add(view)
)view
- objekt, ktory prida do skupinyprotected void remove(AbstractDrawableObject view)
getBaseGroup().remove(view)
)view
- objekt, ktory vyberie zo skupinypublic void draw(java.awt.Graphics2D g2d)
AbstractDrawableObject
g2d
, takze
1) g2d
obsahuje defaultne stavove informacie
2) stavove informacie v g2d
nie je potrebne vratit do povodneho stavu.draw
in class AbstractDrawableObject
public java.lang.String toString()
toString
in class java.lang.Object
public void addDrawableChangeListener(DrawableChangeListener listener)
AbstractDrawableObject
listener
, ktory bude informovany o zmenach objektuaddDrawableChangeListener
in class AbstractDrawableObject
public void removeDrawableChangeListener(DrawableChangeListener listener)
AbstractDrawableObject
listener
zo zoznamu listenerovremoveDrawableChangeListener
in class AbstractDrawableObject
public void setMouseManager(MouseManager manager)
setMouseManager
in interface MouseEventDrawableSource
public boolean containsInternal(Position position)
containsInternal
in interface MouseEventDrawableSource
public void addMouseChangedListener(MouseChangedListener listener)
addMouseChangedListener
in interface MouseEventSource
public void removeMouseChangedListener(MouseChangedListener listener)
removeMouseChangedListener
in interface MouseEventSource