public abstract class AbstractMovableGroup extends AbstractGroup
AbstractGroup
, AbstractMovableRotatableGroup
a Group
.
Lisia sa v tom, ze niektre metody su protected
a niektore su public
.
V priklade pouzitia triedy chceme aby sa dala (z vonku) zistovat a menit pozicia, ale aby nedalo menit natocenie.
Preto dedime od AbstractMovableGroup
.
public class House extends AbstractMovableGroup{ private Polygon roof; private Rectangle wall; public House(AbstractGroup parent, double positionX, double positionY) { super(parent, positionX, positionY, 0); roof = new Polygon(this, 0, -20, Color.RED, true, 20,0, 0,-20, -20,0); wall = new Rectangle(this, 0, -10, 30, 20, 0, Color.LIGHT_GRAY, true); } } public static void main(String[] args) { World world = new World("vytvorenie a pouzitie triedy dediacej od AbstractMovableGroup"); House house = new House(world.getRootGroup(), 100, 100); System.out.println(house.getPosition()); house.setPosition(150,100); }
AbstractGroup
,
AbstractMovableRotatableGroup
,
Group
Constructor and Description |
---|
AbstractMovableGroup(AbstractGroup parent,
double positionX,
double positionY) |
AbstractMovableGroup(AbstractGroup parent,
double positionX,
double positionY,
double angle) |
AbstractMovableGroup(AbstractGroup parent,
Position position) |
AbstractMovableGroup(AbstractGroup parent,
Position position,
double angle) |
AbstractMovableGroup(double positionX,
double positionY,
double angle) |
Modifier and Type | Method and Description |
---|---|
AbstractGroup |
getParent()
Vrati skupinu, do ktorej objekt patri
|
Position |
getPosition()
Vrati poziciu
|
Position |
getPositionInRootGroup()
Vrati poziciu objektu v korenovej skupine (v skupine, ktora nepatri do ziadnej skupiny)
|
double |
getPositionX()
Vrati x-ovu zlozku pozicie
|
double |
getPositionY()
Vrati y-ovu zlozku pozicie
|
protected double |
getRotation()
Vrati natocenie v radianoch
|
int |
getRoundedPositionX()
Vrati x-ovu zlozku pozicie zaokruhlenu na cele cisla
|
int |
getRoundedPositionY()
Vrati y-ovu zlozku pozicie zaokruhlenu na cele cisla
|
boolean |
isVisible()
Vrati informáciu, ci je objekt zobrazovany.
|
void |
move(double offsetX,
double offsetY)
Zmeni poziciu o
deltaX a deltaY |
void |
move(Vector offset)
Zmeni poziciu o
offset . |
protected void |
moveForwards(double length)
Zmeni poziciu o
length v smere danom podla uhla natocenia. |
void |
moveInDirection(double length,
double angle)
Zmeni poziciu o vzdialenost
length v smere danom uhlom angle . |
void |
moveTowards(double length,
Position towards)
Zmeni poziciu o
lenght v smere ku destination . |
protected void |
rotate(double deltaAngle)
Zmeni natocenie o
deltaAngle (v radianoch) |
void |
setPosition(double x,
double y)
Nastavenie pozicie
|
void |
setPosition(Position position)
Nastavenie pozicie
|
void |
setPositionX(double x)
Nastavenie x-ovej suradnce pozicie (y-ova suradnica zostane nezmenena)
|
void |
setPositionY(double y)
Nastavenie y-ovej suradnce pozicie (x-ova suradnica zostane nezmenena)
|
protected void |
setRotation(double angle)
Nastavi natocenie v radianoch
|
void |
setVisible(boolean visible)
Nastavi, ci sa ma objekt zobrazovat, alebo nie
Ak objekt nie je umiestneny v korenovej skupine (alebo v jej podskupine), tak nie je zobrazovany aj ked tato vlastnost nastavana na
true |
add, addMouseListener, contains, containsInternal, iterator, onPropertyChanged, remove, removeAll, removeMouseListener, setMouseManager, toString
public AbstractMovableGroup(AbstractGroup parent, Position position)
public AbstractMovableGroup(AbstractGroup parent, double positionX, double positionY)
public AbstractMovableGroup(AbstractGroup parent, Position position, double angle)
public AbstractMovableGroup(AbstractGroup parent, double positionX, double positionY, double angle)
public AbstractMovableGroup(double positionX, double positionY, double angle)
public Position getPositionInRootGroup()
public void moveInDirection(double length, double angle)
length
v smere danom uhlom angle
.length
- dlzka posunuangle
- uhol udavajuci smer posunupublic void moveTowards(double length, Position towards)
lenght
v smere ku destination
.
Ak je vzdialenost pozicie this
ku destination
mensia, ako length
, tak nastavi poziciu this
na destination
length
- (maximalna) vzdialenost o ktoru sa objekt posunie smerom ku destination
towards
- pozicia ku ktorej sa pozicia this
priblizipublic void move(double offsetX, double offsetY)
deltaX
a deltaY
offsetX
- zmena pozicie v smere osi xoffsetY
- zmena pozicie v smere osi ypublic void move(Vector offset)
offset
. x-ovu zlozku pozicie zmeni o x-ovu zlozku vektora, y-ovu zlozku pozicie zmeni o y-zlozku vektora.offset
- velkost posuvupublic int getRoundedPositionY()
public int getRoundedPositionX()
public double getPositionY()
public double getPositionX()
public Position getPosition()
public void setPositionY(double y)
y
- y-ova suradnicapublic void setPositionX(double x)
x
- x-ova suradnicapublic void setPosition(Position position)
position
- nova poziciapublic void setPosition(double x, double y)
x
- x-ova suradnica poziciey
- y-ova suradnica pozicieprotected double getRotation()
protected void setRotation(double angle)
angle
- natocenie v radianochprotected void rotate(double deltaAngle)
deltaAngle
(v radianoch)deltaAngle
- uhol o ktory sa zmeni natocenie objektu (v radianoch)protected void moveForwards(double length)
length
v smere danom podla uhla natocenia.length
- vzdialenost o ktoru sa objekt posunie v smere natoceniapublic void setVisible(boolean visible)
true
visible
- urcuje ci ma byt objekt zobrazenypublic boolean isVisible()
true
true
ak je objekt zobrazovany, inak false
public AbstractGroup getParent()
null