public abstract class AbstractView extends AbstractDrawableObject
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 |
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.
|
java.lang.String |
toString() |
addDrawableChangeListener, externalToInternalCoordinates, fireChanged, getParent, globalToInternalCoordinates, init, internalToExternalCoordinates, internalToGlobalCoordinates, removeDrawableChangeListener, setParent, throwIfNegativepublic 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)
AbstractDrawableObjectg2d, takze
1) g2d obsahuje defaultne stavove informacie
2) stavove informacie v g2d nie je potrebne vratit do povodneho stavu.draw in class AbstractDrawableObjectpublic java.lang.String toString()
toString in class java.lang.Object