public final class RotateTransition extends Transition
Transition creates a rotation animation that spans its
duration. This is done by updating the rotate variable of the
node at regular interval. The angle value is specified in degrees.
It starts from the fromAngle if provided else uses the node's
rotate value.
It stops at the toAngle value if provided else it will use start
value plus byAngle.
The toAngle takes precedence if both toAngle and
byAngle are specified.
Code Segment Example:
import javafx.scene.shape.*;
import javafx.animation.transition.*;
...
Rectangle rect = new Rectangle (100, 40, 100, 100);
rect.setArcHeight(50);
rect.setArcWidth(50);
rect.setFill(Color.VIOLET);
RotateTransition rt = new RotateTransition(Duration.millis(3000), rect);
rt.setByAngle(180);
rt.setCycleCount(4);
rt.setAutoReverse(true);
rt.play();
...
Transition,
Animation| Type | Property and Description |
|---|---|
ObjectProperty<Point3D> |
axis
Specifies the axis of rotation for this
RotateTransition. |
DoubleProperty |
byAngle
Specifies the incremented stop angle value, from the start, of this
RotateTransition. |
ObjectProperty<Duration> |
duration
The duration of this
RotateTransition. |
DoubleProperty |
fromAngle
Specifies the start angle value for this
RotateTransition. |
ObjectProperty<Node> |
node
The target node of this
RotateTransition. |
DoubleProperty |
toAngle
Specifies the stop angle value for this
RotateTransition. |
interpolatorautoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDurationAnimation.StatusINDEFINITE| Constructor and Description |
|---|
RotateTransition()
The constructor of
RotateTransition |
RotateTransition(Duration duration)
The constructor of
RotateTransition |
RotateTransition(Duration duration,
Node node)
The constructor of
RotateTransition |
| Modifier and Type | Method and Description |
|---|---|
ObjectProperty<Point3D> |
axisProperty()
Specifies the axis of rotation for this
RotateTransition. |
DoubleProperty |
byAngleProperty()
Specifies the incremented stop angle value, from the start, of this
RotateTransition. |
ObjectProperty<Duration> |
durationProperty()
The duration of this
RotateTransition. |
DoubleProperty |
fromAngleProperty()
Specifies the start angle value for this
RotateTransition. |
Point3D |
getAxis()
Gets the value of the property axis.
|
double |
getByAngle()
Gets the value of the property byAngle.
|
Duration |
getDuration()
Gets the value of the property duration.
|
double |
getFromAngle()
Gets the value of the property fromAngle.
|
Node |
getNode()
Gets the value of the property node.
|
double |
getToAngle()
Gets the value of the property toAngle.
|
protected void |
interpolate(double frac)
The method
interpolate() has to be provided by implementations of
Transition. |
ObjectProperty<Node> |
nodeProperty()
The target node of this
RotateTransition. |
void |
setAxis(Point3D value)
Sets the value of the property axis.
|
void |
setByAngle(double value)
Sets the value of the property byAngle.
|
void |
setDuration(Duration value)
Sets the value of the property duration.
|
void |
setFromAngle(double value)
Sets the value of the property fromAngle.
|
void |
setNode(Node value)
Sets the value of the property node.
|
void |
setToAngle(double value)
Sets the value of the property toAngle.
|
DoubleProperty |
toAngleProperty()
Specifies the stop angle value for this
RotateTransition. |
getCachedInterpolator, getInterpolator, getParentTargetNode, interpolatorProperty, setInterpolatorautoReverseProperty, currentRateProperty, currentTimeProperty, cycleCountProperty, cycleDurationProperty, delayProperty, getCuePoints, getCurrentRate, getCurrentTime, getCycleCount, getCycleDuration, getDelay, getOnFinished, getRate, getStatus, getTargetFramerate, getTotalDuration, isAutoReverse, jumpTo, jumpTo, onFinishedProperty, pause, play, playFrom, playFrom, playFromStart, rateProperty, setAutoReverse, setCycleCount, setCycleDuration, setDelay, setOnFinished, setRate, setStatus, statusProperty, stop, totalDurationPropertypublic final ObjectProperty<Node> nodeProperty
RotateTransition.
It is not possible to change the target node of a running
RotateTransition. If the value of node is changed for a
running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
getNode(),
setNode(Node)public final ObjectProperty<Duration> durationProperty
RotateTransition.
It is not possible to change the duration of a running
RotateTransition. If the value of duration is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
Note: While the unit of duration is a millisecond, the
granularity depends on the underlying operating system and will in
general be larger. For example animations on desktop systems usually run
with a maximum of 60fps which gives a granularity of ~17 ms.
Setting duration to value lower than Duration.ZERO will result
in IllegalArgumentException.
getDuration(),
setDuration(Duration)public final ObjectProperty<Point3D> axisProperty
RotateTransition. Use
node.rotationAxis for axis of rotation if this axis is
null.
It is not possible to change the axis of a running
RotateTransition. If the value of axis is changed for a
running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
getAxis(),
setAxis(Point3D)public final DoubleProperty fromAngleProperty
RotateTransition.
It is not possible to change fromAngle of a running
RotateTransition. If the value of fromAngle is changed
for a running RotateTransition, the animation has to be stopped
and started again to pick up the new value.
Double.NaNgetFromAngle(),
setFromAngle(double)public final DoubleProperty toAngleProperty
RotateTransition.
It is not possible to change toAngle of a running
RotateTransition. If the value of toAngle is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
Double.NaNgetToAngle(),
setToAngle(double)public final DoubleProperty byAngleProperty
RotateTransition.
It is not possible to change byAngle of a running
RotateTransition. If the value of byAngle is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
getByAngle(),
setByAngle(double)public RotateTransition(Duration duration, Node node)
RotateTransitionduration - The duration of the RotateTransitionnode - The node which will be rotatedpublic RotateTransition(Duration duration)
RotateTransitionduration - The duration of the RotateTransitionpublic RotateTransition()
RotateTransitionpublic final void setNode(Node value)
RotateTransition.
It is not possible to change the target node of a running
RotateTransition. If the value of node is changed for a
running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
public final Node getNode()
RotateTransition.
It is not possible to change the target node of a running
RotateTransition. If the value of node is changed for a
running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
public final ObjectProperty<Node> nodeProperty()
RotateTransition.
It is not possible to change the target node of a running
RotateTransition. If the value of node is changed for a
running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
getNode(),
setNode(Node)public final void setDuration(Duration value)
RotateTransition.
It is not possible to change the duration of a running
RotateTransition. If the value of duration is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
Note: While the unit of duration is a millisecond, the
granularity depends on the underlying operating system and will in
general be larger. For example animations on desktop systems usually run
with a maximum of 60fps which gives a granularity of ~17 ms.
Setting duration to value lower than Duration.ZERO will result
in IllegalArgumentException.
public final Duration getDuration()
RotateTransition.
It is not possible to change the duration of a running
RotateTransition. If the value of duration is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
Note: While the unit of duration is a millisecond, the
granularity depends on the underlying operating system and will in
general be larger. For example animations on desktop systems usually run
with a maximum of 60fps which gives a granularity of ~17 ms.
Setting duration to value lower than Duration.ZERO will result
in IllegalArgumentException.
public final ObjectProperty<Duration> durationProperty()
RotateTransition.
It is not possible to change the duration of a running
RotateTransition. If the value of duration is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
Note: While the unit of duration is a millisecond, the
granularity depends on the underlying operating system and will in
general be larger. For example animations on desktop systems usually run
with a maximum of 60fps which gives a granularity of ~17 ms.
Setting duration to value lower than Duration.ZERO will result
in IllegalArgumentException.
getDuration(),
setDuration(Duration)public final void setAxis(Point3D value)
RotateTransition. Use
node.rotationAxis for axis of rotation if this axis is
null.
It is not possible to change the axis of a running
RotateTransition. If the value of axis is changed for a
running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
public final Point3D getAxis()
RotateTransition. Use
node.rotationAxis for axis of rotation if this axis is
null.
It is not possible to change the axis of a running
RotateTransition. If the value of axis is changed for a
running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
public final ObjectProperty<Point3D> axisProperty()
RotateTransition. Use
node.rotationAxis for axis of rotation if this axis is
null.
It is not possible to change the axis of a running
RotateTransition. If the value of axis is changed for a
running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
getAxis(),
setAxis(Point3D)public final void setFromAngle(double value)
RotateTransition.
It is not possible to change fromAngle of a running
RotateTransition. If the value of fromAngle is changed
for a running RotateTransition, the animation has to be stopped
and started again to pick up the new value.
Double.NaNpublic final double getFromAngle()
RotateTransition.
It is not possible to change fromAngle of a running
RotateTransition. If the value of fromAngle is changed
for a running RotateTransition, the animation has to be stopped
and started again to pick up the new value.
Double.NaNpublic final DoubleProperty fromAngleProperty()
RotateTransition.
It is not possible to change fromAngle of a running
RotateTransition. If the value of fromAngle is changed
for a running RotateTransition, the animation has to be stopped
and started again to pick up the new value.
Double.NaNgetFromAngle(),
setFromAngle(double)public final void setToAngle(double value)
RotateTransition.
It is not possible to change toAngle of a running
RotateTransition. If the value of toAngle is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
Double.NaNpublic final double getToAngle()
RotateTransition.
It is not possible to change toAngle of a running
RotateTransition. If the value of toAngle is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
Double.NaNpublic final DoubleProperty toAngleProperty()
RotateTransition.
It is not possible to change toAngle of a running
RotateTransition. If the value of toAngle is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
Double.NaNgetToAngle(),
setToAngle(double)public final void setByAngle(double value)
RotateTransition.
It is not possible to change byAngle of a running
RotateTransition. If the value of byAngle is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
public final double getByAngle()
RotateTransition.
It is not possible to change byAngle of a running
RotateTransition. If the value of byAngle is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
public final DoubleProperty byAngleProperty()
RotateTransition.
It is not possible to change byAngle of a running
RotateTransition. If the value of byAngle is changed for
a running RotateTransition, the animation has to be stopped and
started again to pick up the new value.
getByAngle(),
setByAngle(double)protected void interpolate(double frac)
interpolate() has to be provided by implementations of
Transition. While a Transition is running, this method is
called in every frame.
The parameter defines the current position with the animation. At the
start, the fraction will be 0.0 and at the end it will be
1.0. How the parameter increases, depends on the
interpolator, e.g. if the
interpolator is Interpolator.LINEAR, the fraction will
increase linear.
This method must not be called by the user directly.interpolate in class Transitionfrac - The relative positionCopyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.