Java 类javafx.animation.RotateTransition 实例源码

项目:gatepass    文件:MainWindow.java   
public void rotateHer(Label labelHer, ImageView iv)
{
    RotateTransition rotation = new RotateTransition(Duration.seconds(2), iv);
    rotation.setCycleCount(Animation.INDEFINITE);
    rotation.setByAngle(360);

    iv.setTranslateZ(iv.getBoundsInLocal().getWidth() / 2.0);
    iv.setRotationAxis(Rotate.Y_AXIS);

    labelHer.setOnMouseEntered(e ->
    { 
        rotation.play();
        iv.setRotate(180);
    });
    labelHer.setOnMouseExited(e ->
    { 
        rotation.pause();
        iv.setRotate(0);
    });
}
项目:gatepass    文件:ExDetails.java   
public void rotateHer(Label labelHer, ImageView iv)
{
    RotateTransition rotation = new RotateTransition(Duration.seconds(2), iv);
    rotation.setCycleCount(Animation.INDEFINITE);
    rotation.setByAngle(360);

    iv.setTranslateZ(iv.getBoundsInLocal().getWidth() / 2.0);
    iv.setRotationAxis(Rotate.Y_AXIS);

    labelHer.setOnMouseEntered(e ->
    { 
        rotation.play();
        iv.setRotate(180);
    });
    labelHer.setOnMouseExited(e ->
    { 
        rotation.pause();
        iv.setRotate(0);
    });
}
项目:gatepass    文件:SysSettings.java   
public void rotateHer(Label labelHer, ImageView iv)
{
    RotateTransition rotation = new RotateTransition(Duration.seconds(2.3), iv);
    rotation.setCycleCount(Animation.INDEFINITE);
    rotation.setByAngle(360);

    iv.setTranslateZ(iv.getBoundsInLocal().getWidth() / 2.0);
    iv.setRotationAxis(Rotate.Y_AXIS);

    labelHer.setOnMouseEntered(e ->
    { 
        rotation.play();
        iv.setRotate(180);
    });
    labelHer.setOnMouseExited(e ->
    { 
        rotation.pause();
        iv.setRotate(0);
    });
}
项目:tilesfx    文件:HighLowTileSkin.java   
@Override protected void handleCurrentValue(final double VALUE) {
    double deviation = calculateDeviation(VALUE);
    updateState(deviation);
    valueText.setText(String.format(locale, formatString, VALUE));
    deviationText.setText(String.format(locale, "%." + tile.getTickLabelDecimals() + "f", deviation));

    RotateTransition rotateTransition = new RotateTransition(Duration.millis(200), triangle);
    rotateTransition.setFromAngle(triangle.getRotate());
    rotateTransition.setToAngle(state.angle);

    FillTransition fillIndicatorTransition = new FillTransition(Duration.millis(200), triangle);
    fillIndicatorTransition.setFromValue((Color) triangle.getFill());
    fillIndicatorTransition.setToValue(state.color);

    FillTransition fillReferenceTransition = new FillTransition(Duration.millis(200), deviationText);
    fillReferenceTransition.setFromValue((Color) triangle.getFill());
    fillReferenceTransition.setToValue(state.color);

    FillTransition fillReferenceUnitTransition = new FillTransition(Duration.millis(200), deviationUnitText);
    fillReferenceUnitTransition.setFromValue((Color) triangle.getFill());
    fillReferenceUnitTransition.setToValue(state.color);

    ParallelTransition parallelTransition = new ParallelTransition(rotateTransition, fillIndicatorTransition, fillReferenceTransition, fillReferenceUnitTransition);
    parallelTransition.play();
}
项目:programmierpraktikum-abschlussprojekt-amigos    文件:ExerciseController.java   
private void switchStateAnimation(TDDState newState){
    RotateTransition rotateTransition = new RotateTransition(Duration.millis(800), cycleImage);
    rotateTransition.setFromAngle(0);
    rotateTransition.setToAngle(-180);
    FadeTransition ft = new FadeTransition(Duration.millis(800), cycleImage);
    ft.setFromValue(1);
    ft.setToValue(0);
    RotateTransition rotateTransition2 = new RotateTransition(Duration.millis(800), cycleImageOverlay);
    rotateTransition2.setFromAngle(180);
    rotateTransition2.setToAngle(0);

    Image newImg = getImageOfPhase(newState);
    rotateTransition2.setOnFinished(event -> {
        cycleImage.setImage(newImg);
    });
    FadeTransition ft2 = new FadeTransition(Duration.millis(800), cycleImageOverlay);
    ft2.setFromValue(0);
    ft2.setToValue(1);

    ft.play();
    cycleImageOverlay.setImage(newImg);
    rotateTransition.play();
    ft.play();
    ft2.play();
    rotateTransition2.play();
}
项目:slogo    文件:TurtleView.java   
@Override
public void update (Object object) {
    ITurtleState state = (ITurtleState) object;

    this.penStyleIndex = state.getPenStyle();
    TranslateTransition tt = new TranslateTransition(Duration.millis(mySpeed), this);

    double currentX = this.getTranslateX(); double currentY = this.getTranslateY();
    tt.setByX(currentX); tt.setByY(currentY); tt.setToX(state.getX()); tt.setToY(state.getY());

    RotateTransition rt = new RotateTransition(Duration.millis(mySpeed), this);

    double currentHeading = this.getRotate();
    rt.setByAngle(currentHeading); rt.setToAngle(state.getHeading());

    ParallelTransition pt = new ParallelTransition();
    pt.getChildren().addAll(tt, rt);

    pt.setOnFinished(e -> {
        updateTurtleState(state);
        System.out.println("myturtle: " + this.toString());
        tooltip.setText(this.toString());
    });

    pt.play();
}
项目:FXGL    文件:TestLoadingScene.java   
public TestLoadingScene() {

        getText().setFont(Font.font("Segoe UI", 24));
        getText().setTranslateY(50);

        Circle circle = new Circle(50, 50, 50);

        Shape shape = Shape.subtract(new Rectangle(100, 100), circle);
        shape.setFill(Color.BLUE);
        shape.setStroke(Color.YELLOW);

        RotateTransition rt = new RotateTransition(Duration.seconds(2), shape);
        rt.setByAngle(360);
        rt.setCycleCount(15);
        rt.play();

        shape.setTranslateX(700);
        shape.setTranslateY(500);

        getContentRoot().getChildren().set(1, shape);
    }
项目:The-Projects    文件:Board.java   
/**
 * Method to display the movement of a card to a Deck
 * @param card the card to move
 */
private PathTransition moveToDeck(Card card) {
    StackPane deck = ownerToDeck(card.getOwner());
    Path path = new Path(new MoveTo(card.localToParent(0,0).getX() + card.getWidth()/2, card.localToParent(0,0).getY() + card.getHeight()/2),
            new LineTo(deck.localToParent(deck.getWidth()/2.,deck.getHeight()/2.).getX(), deck.localToParent(deck.getWidth()/2.,deck.getHeight()/2.).getY()));

    boolean horizontal = card.getOwner() == Owner.PROJECT_DECK || card.getOwner() == Owner.PROJECT_DISCARD;

    card.toFront();
    if (horizontal) {
        RotateTransition rotateTransition = new RotateTransition(Duration.millis(500), card);
        rotateTransition.setByAngle(-90);
        rotateTransition.play();
    }

    ScaleTransition scaleTransition = new ScaleTransition(Duration.millis(500), card);
    scaleTransition.setToX(horizontal ? deck.getScaleY() : deck.getScaleX());
    scaleTransition.setToY(horizontal ? deck.getScaleX() : deck.getScaleY());
    scaleTransition.play();

    card.setClickable(false, view);

    return new PathTransition(Duration.seconds(.5),path,card);
}
项目:FXImgurUploader    文件:RadialMenu.java   
public void close() {
    if (State.CLOSED == getState()) return;

    setState(State.CLOSED);
    RotateTransition rotate = new RotateTransition();
    rotate.setNode(cross);
    rotate.setToAngle(0);
    rotate.setDuration(Duration.millis(200));
    rotate.setInterpolator(Interpolator.EASE_BOTH);
    rotate.play();
    closeTimeLines[closeTimeLines.length - 1].setOnFinished(actionEvent -> {
        FadeTransition buttonFadeOut = new FadeTransition();
        buttonFadeOut.setNode(mainMenuButton);
        buttonFadeOut.setDuration(Duration.millis(100));
        buttonFadeOut.setToValue(options.getButtonAlpha());
        buttonFadeOut.play();
        buttonFadeOut.setOnFinished(event -> {
            if (options.isButtonHideOnClose()) hide();
            fireMenuEvent(new MenuEvent(this, null, MenuEvent.MENU_CLOSE_FINISHED));
        });
    });
    for (int i = 0 ; i < closeTimeLines.length ; i++) {
        closeTimeLines[i].play();
    }
    fireMenuEvent(new MenuEvent(this, null, MenuEvent.MENU_CLOSE_STARTED));
}
项目:JVx.javafx    文件:FXAnimator.java   
/**
 * Creates a {@link RotateTransition} that is the second/end part of a flip
 * animation.
 * 
 * @param pNode the {@link Node}.
 * @param pOrientation the {@link Orientation} in which to rotate. Note that
 *            {@link Orientation#HORIZONTAL} means from right to left.
 * @param pRightLeftTopDown {@code true} if the animation should be from
 *            right to left/top to down. {@code false} if it should be left
 *            to right/bottom to up.
 * @return the created {@link RotateTransition}.
 */
public static RotateTransition createFlipEndTransition(Node pNode, Orientation pOrientation, boolean pRightLeftTopDown)
{
    double startingAngle = calculateEdgeAngle(pNode, pOrientation);

    RotateTransition endTransition = new RotateTransition(Duration.millis(466), pNode);
    endTransition.setAxis(getAxis(pOrientation));
    if (pRightLeftTopDown)
    {
        endTransition.setFromAngle(startingAngle + 180);
        endTransition.setToAngle(360);
    }
    else
    {

        endTransition.setFromAngle(startingAngle);
        endTransition.setToAngle(0);
    }
    endTransition.setInterpolator(Interpolator.EASE_OUT);

    return endTransition;
}
项目:JVx.javafx    文件:FXAnimator.java   
/**
 * Creates a {@link RotateTransition} that is the first/start part of a flip
 * animation.
 * 
 * @param pNode the {@link Node}.
 * @param pOrientation the {@link Orientation} in which to rotate. Note that
 *            {@link Orientation#HORIZONTAL} means from right to left.
 * @param pRightLeftTopDown {@code true} if the animation should be from
 *            right to left/top to down. {@code false} if it should be left
 *            to right/bottom to up.
 * @return the created {@link RotateTransition}.
 */
public static RotateTransition createFlipStartTransition(Node pNode, Orientation pOrientation, boolean pRightLeftTopDown)
{
    double endingAngle = calculateEdgeAngle(pNode, pOrientation);

    RotateTransition transition = new RotateTransition(Duration.millis(466), pNode);
    transition.setAxis(getAxis(pOrientation));
    if (pRightLeftTopDown)
    {
        transition.setFromAngle(0);
        transition.setToAngle(endingAngle);
    }
    else
    {
        transition.setFromAngle(360);
        transition.setToAngle(endingAngle + 180);
    }
    transition.setInterpolator(Interpolator.EASE_IN);

    return transition;
}
项目:FXTutorials    文件:Main.java   
public LoadingBar() {
    Circle outer = new Circle(50);
    outer.setFill(null);
    outer.setStroke(Color.BLACK);

    Circle inner = new Circle(5);
    inner.setTranslateY(-50);

    rt = new RotateTransition(Duration.seconds(2), this);
    rt.setToAngle(360);
    rt.setInterpolator(Interpolator.LINEAR);
    rt.setCycleCount(RotateTransition.INDEFINITE);

    getChildren().addAll(outer, inner);
    setVisible(false);
}
项目:FXTutorials    文件:FarCry4Loading.java   
public LoadingCircle() {
    Circle circle = new Circle(20);
    circle.setFill(null);
    circle.setStroke(Color.WHITE);
    circle.setStrokeWidth(2);

    Rectangle rect = new Rectangle(20, 20);

    Shape shape = Shape.subtract(circle, rect);
    shape.setFill(Color.WHITE);

    getChildren().add(shape);

    animation = new RotateTransition(Duration.seconds(2.5), this);
    animation.setByAngle(-360);
    animation.setInterpolator(Interpolator.LINEAR);
    animation.setCycleCount(Animation.INDEFINITE);
    animation.play();
}
项目:kelvin-maps    文件:ApplicationController.java   
/**
 * JavaFX constructor for the ApplicationController.
 */
@FXML
private void initialize() {
  ApplicationController.instance = this;

  ApplicationController.instance.rt = new RotateTransition(
    Duration.millis(10000), this.loadIcon
  );
  ApplicationController.instance.rotateIcon();
  ApplicationController.instance.stackPane.getChildren().remove(
    this.loadIcon
  );

  ApplicationController.addIcon();
  Platform.runLater(() -> {
    MenuController.loadDefault();
  });
}
项目:javafx-demos    文件:DominoSkin.java   
private void flipTo180(final Domino.Dot DOT, final String STYLE) {
    final RotateTransition ROT_0_90 = new RotateTransition(FLIP_TIME.divide(2), dotMap.get(DOT));
    ROT_0_90.setAxis(Rotate.Y_AXIS);
    ROT_0_90.setFromAngle(0);
    ROT_0_90.setToAngle(90);
    ROT_0_90.play();
    ROT_0_90.setOnFinished(new EventHandler<ActionEvent>() {
        @Override public void handle(final ActionEvent EVENT) {
            dotMap.get(DOT).getStyleClass().clear();
            dotMap.get(DOT).getStyleClass().add(STYLE);
            final RotateTransition ROT_90_180 = new RotateTransition(FLIP_TIME.divide(2), dotMap.get(DOT));
            ROT_90_180.setAxis(Rotate.Y_AXIS);
            ROT_90_180.setFromAngle(90);
            ROT_90_180.setToAngle(180);
            ROT_90_180.play();
        }
    });
}
项目:javafx-demos    文件:DominoSkin.java   
private void flipTo0(final Domino.Dot DOT, final String STYLE) {
    final RotateTransition ROT_180_90 = new RotateTransition(FLIP_TIME.divide(2), dotMap.get(DOT));
    ROT_180_90.setAxis(Rotate.Y_AXIS);
    ROT_180_90.setFromAngle(180);
    ROT_180_90.setToAngle(90);
    ROT_180_90.play();
    ROT_180_90.setOnFinished(new EventHandler<ActionEvent>() {
        @Override public void handle(final ActionEvent EVENT) {
            dotMap.get(DOT).getStyleClass().clear();
            dotMap.get(DOT).getStyleClass().add(STYLE);
            final RotateTransition ROT_90_0 = new RotateTransition(FLIP_TIME.divide(2), dotMap.get(DOT));
            ROT_90_0.setAxis(Rotate.Y_AXIS);
            ROT_90_0.setFromAngle(90);
            ROT_90_0.setToAngle(0);
            ROT_90_0.play();
        }
    });
}
项目:Enzo    文件:RadialMenu.java   
public void close() {
    if (State.CLOSED == getState()) return;

    setState(State.CLOSED);
    RotateTransition rotate = new RotateTransition();
    rotate.setNode(cross);
    rotate.setToAngle(0);
    rotate.setDuration(Duration.millis(200));
    rotate.setInterpolator(Interpolator.EASE_BOTH);
    rotate.play();
    closeTimeLines[closeTimeLines.length - 1].setOnFinished(actionEvent -> {
        FadeTransition buttonFadeOut = new FadeTransition();
        buttonFadeOut.setNode(mainMenuButton);
        buttonFadeOut.setDuration(Duration.millis(100));
        buttonFadeOut.setToValue(options.getButtonAlpha());
        buttonFadeOut.play();
        buttonFadeOut.setOnFinished(event -> {
            if (options.isButtonHideOnClose()) hide();
            fireMenuEvent(new MenuEvent(this, null, MenuEvent.MENU_CLOSE_FINISHED));
        });
    });
    for (int i = 0 ; i < closeTimeLines.length ; i++) {
        closeTimeLines[i].play();
    }
    fireMenuEvent(new MenuEvent(this, null, MenuEvent.MENU_CLOSE_STARTED));
}
项目:Cypher    文件:ChatPresenter.java   
@FXML
private void initialize() {
    eventBus.register(this);
    messageBox.setDisable(client.getSelectedRoom() == null);

    eventListView.setCellFactory(listView -> {
        EventListItemView memberListItemView = new EventListItemView();
        memberListItemView.getView();
        return (EventListItemPresenter)memberListItemView.getPresenter();
    });

    eventListView.itemsProperty().addListener((observable, oldValue, newValue) -> {

        if(eventListScrollBar != null) {
            eventListScrollBar.valueProperty().removeListener(scrollListener);
        }

        this.eventListScrollBar = getListViewScrollBar(eventListView, Orientation.VERTICAL);

        if(eventListScrollBar != null) {
            eventListScrollBar.valueProperty().addListener(scrollListener);
        }
    });

    // Buffering icon animations
    bufferIconAnimation = new RotateTransition(Duration.millis(1000), bufferingIcon);
    bufferIconAnimation.setCycleCount(Timeline.INDEFINITE);
    bufferIconAnimation.setByAngle(360);
    bufferFadeIn = new FadeTransition(Duration.millis(200), bufferingIcon);
    bufferFadeIn.setFromValue(0.0);
    bufferFadeIn.setToValue(1.0);
    bufferFadeOut = new FadeTransition(Duration.millis(200), bufferingIcon);
    bufferFadeOut.setFromValue(1.0);
    bufferFadeOut.setToValue(0.0);
}
项目:dynamo    文件:GeneratorSkin.java   
private void initGraphics() {
    background = new Region();
    background.getStyleClass().setAll("background");

    circleFrame = new Region();
    circleFrame.getStyleClass().setAll("circle-frame");

    circleGears = new Region();
    circleGears.getStyleClass().setAll("circle-gears");
    circleGears.setCache(true);
    circleGears.setCacheHint(CacheHint.SPEED);

    rotateTransition = new RotateTransition(Duration.millis(getSkinnable().getAnimationDuration()), circleGears);
    blinkTimeline = new Timeline(new KeyFrame(Duration.seconds(0.35), event -> circleFrame.setOpacity(circleFrame.getOpacity() == 0 ? 1 : 0)));

    sinCurve = new Region();
    sinCurve.getStyleClass().setAll("sin-curve");

    nameText = new Text(getSkinnable().getName());
    nameText.getStyleClass().setAll("name-text");

    pane = new Pane(background, circleFrame, circleGears, sinCurve, nameText);

    getChildren().add(pane);
    resize();
    updateStateAspect();
    updateAlarmStatus();
}
项目:wall-t    文件:TileView.java   
private ImageView queueImageView( final TileViewModel build ) {
    final ImageView queuedIcon = new ImageView( UIUtils.createImage( "icons/queued.png" ) );
    queuedIcon.setFitHeight( 45 );
    queuedIcon.setPreserveRatio( true );
    queuedIcon.visibleProperty( ).bind( build.queuedProperty( ) );

    final RotateTransition transition = new RotateTransition( Duration.seconds( 3 ), queuedIcon );
    transition.setByAngle( 360 );
    transition.setCycleCount( Timeline.INDEFINITE );
    transition.play( );

    return queuedIcon;
}
项目:voogasalad-ltub    文件:GameChooser.java   
private void getRotation(Button button){

        RotateTransition rotation = new RotateTransition(Duration.seconds(3), button);
        rotation.setCycleCount(Animation.INDEFINITE);
        rotation.setByAngle(360);

        button.setOnMouseEntered(e -> rotation.play());
        button.setOnMouseExited(e -> rotation.pause());
    }
项目:waterrower-workout    文件:IconRotation.java   
/**
 * An animation which rotates the icon of a button.
 *
 * @param graphic The graphic on which the icon should be animated, must not be null.
 */
public IconRotation(Node graphic) {
    rotateProperty = graphic.rotateProperty();

    rotation = new RotateTransition(DURATION, graphic);
    rotation.setInterpolator(EASE_BOTH);
    rotation.setCycleCount(INDEFINITE);
    rotation.setFromAngle(0);
    rotation.setToAngle(360);
}
项目:AnchorFX    文件:DockCommandsBox.java   
void notifyCloseAction() {
    if (isMenuOpen) {
        isMenuOpen = false;

        RotateTransition rotate = new RotateTransition(Duration.seconds(0.2), menuButton.getGraphic());
        rotate.setToAngle(0);
        rotate.play();

        hideAction.run();
    }
}
项目:AnchorFX    文件:DockCommandsBox.java   
void notifyOpenAction() {
    RotateTransition rotate = new RotateTransition(Duration.seconds(0.2), menuButton.getGraphic());
    rotate.setToAngle(90);
    rotate.play();

    openAction.run();
}
项目:javaFXMDI    文件:MyContentController.java   
private void btnRotateHandler() {
    btnRotate.setOnAction(event -> {
        MDIWindow myMDI = Utility.getMDIWindow(mainPane);
        RotateTransition rt = new RotateTransition(Duration.millis(1000), myMDI);
        rt.setByAngle(360);
        rt.setCycleCount(1);
        // rt.setAutoReverse(true);
        rt.play();
    });
}
项目:mars-sim    文件:MarsViewer.java   
private RotateTransition rotateAroundYAxis(Node node) {
    RotateTransition rotate = new RotateTransition(
            Duration.seconds(ROTATE_SECS),
            node
            );
    rotate.setAxis(Rotate.Y_AXIS);
    rotate.setFromAngle(360);
    rotate.setToAngle(0);
    rotate.setInterpolator(Interpolator.LINEAR);
    rotate.setCycleCount(RotateTransition.INDEFINITE);

    return rotate;
}
项目:mars-sim    文件:SpinningGlobe.java   
public void rotateGlobe() {
 rt = new RotateTransition(Duration.seconds(OrbitInfo.SOLAR_DAY/500D), globe.getWorld());
    //rt.setByAngle(360);
    rt.setInterpolator(Interpolator.LINEAR);
    rt.setCycleCount(Animation.INDEFINITE);
    rt.setAxis(Rotate.Y_AXIS);
    rt.setFromAngle(360);
    rt.setToAngle(0);
    rt.play();
}
项目:FXImgurUploader    文件:MenuButton.java   
private void initGraphics() {
    setPickOnBounds(false);

    cross = new Region();
    cross.getStyleClass().add("cross");
    cross.setMouseTransparent(true);
    crossRotate = new RotateTransition(Duration.millis(200), cross);
    crossRotate.setInterpolator(Interpolator.EASE_BOTH);

    // Add all nodes
    getChildren().addAll(cross);
}
项目:JFXMaterial    文件:ActionBar.java   
public ActionBar(String title) {
    super();
    DoubleProperty heightProperty = new SimpleDoubleProperty();
    hBox = new HBox();
    line = new Line();
    line.setStroke(Color.WHITE);

    line.setStrokeWidth(3);
    rotateTransition = new RotateTransition();
    materialText = new MaterialText("", 17);
    sceneProperty().addListener((observable, oldValue, newValue) -> {
        if (newValue != null) {
            if (!getScene().getStylesheets().contains(getClass().getResource("application.css").toExternalForm())) {
                getScene().getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            }
            newValue.widthProperty().addListener((ob, o, n) -> {
                setPrefSize(n.doubleValue(), 100);
                hBox.setPrefWidth(n.doubleValue());

            });
            heightProperty.bind(newValue.heightProperty());
            hBox.setLayoutY(50);
        }
    });
    line.setTranslateY(97);
    hBox.setFillHeight(true);
    hBox.setAlignment(Pos.CENTER);
    getStyleClass().add("material-toolbar");
    setTitle(title);
    getChildren().addAll(hBox, line);
}
项目:fr.xs.jtk    文件:Planetoid.java   
private RotateTransition selfRotation() {
    RotateTransition rotate = new RotateTransition(Duration.seconds(ROTATE_SECS), this);
    rotate.setAxis(Rotate.Y_AXIS);
    rotate.setFromAngle(clockRotate ? 0 : 360);
    rotate.setToAngle(clockRotate ? 360 : 0);
    rotate.setInterpolator(Interpolator.LINEAR);
    rotate.setCycleCount(RotateTransition.INDEFINITE);

    return rotate;
}
项目:JVx.javafx    文件:FXAnimator.java   
/**
 * Flips the given {@link Node} in the given direction until it is turned
 * roughly 90 degrees, read it is not visible anymore. Then the first
 * {@link Runnable} {@code pOnTippingPoint} will be executed which allows to
 * swap the content or properties of the {@link Node} without the user
 * seeing it. After that the rotation will continue back into its starting
 * position, where {@code pOnFinished} will be called.
 * <p>
 * If there is a {@link PerspectiveCamera} is set on the {@link Scene}, this
 * function will already choose the correct angle needed for the tipping
 * point so that the user will not see the swap of the content.
 * 
 * @param pNode the {@link Node} to rotate.
 * @param pOrientation the {@link Orientation} in which to rotate. Note that
 *            {@link Orientation#HORIZONTAL} means from right to left.
 * @param pRightLeftTopDown {@code true} if the animation should be from
 *            right to left/top to down. {@code false} if it should be left
 *            to right/bottom to up.
 * @param pOnTippingPoint the {@link Runnable} to execute when the
 *            {@link Node} is exactly edge on with the viewer. Can be
 *            {@code null}.
 * @param pOnFinished the {@link Runnable} to execute when the rotation has
 *            finished. Can be {@code null}.
 */
public static void flip(Node pNode, Orientation pOrientation, boolean pRightLeftTopDown, Runnable pOnTippingPoint, Runnable pOnFinished)
{
    double tippingPoint = calculateEdgeAngle(pNode, pOrientation);

    RotateTransition startTransition = createFlipStartTransition(pNode, pOrientation, pRightLeftTopDown);
    RotateTransition endTransition = createFlipEndTransition(pNode, pOrientation, pRightLeftTopDown);

    startTransition.setOnFinished(pActionEvent ->
    {
        if (pOnTippingPoint != null)
        {
            pOnTippingPoint.run();
        }

        pNode.setRotate(tippingPoint + 180);

        endTransition.play();
    });

    if (pOnFinished != null)
    {
        endTransition.setOnFinished(pActionEvent -> pOnFinished.run());
    }

    startTransition.play();
}
项目:FXTutorials    文件:Dice.java   
public void roll() {
    RotateTransition rt = new RotateTransition(Duration.seconds(1), this);
    rt.setFromAngle(0);
    rt.setToAngle(360);
    rt.setOnFinished(event -> {
        valueProperty.set((int)(Math.random() * (MAX_VALUE - MIN_VALUE + 1)) + MIN_VALUE);
    });
    rt.play();
}
项目:FXTutorials    文件:HangmanMain.java   
public void show() {
    RotateTransition rt = new RotateTransition(Duration.seconds(1), bg);
    rt.setAxis(Rotate.Y_AXIS);
    rt.setToAngle(180);
    rt.setOnFinished(event -> text.setVisible(true));
    rt.play();
}
项目:kelvin-maps    文件:ApplicationController.java   
/**
 * To rotate the load icon.
 */
public static void rotateIcon() {
  ApplicationController.instance.rt.setByAngle(360);
  ApplicationController.instance.rt.setCycleCount(
    RotateTransition.INDEFINITE
  );
  ApplicationController.instance.rt.play();
}
项目:AnchorFX    文件:DockCommandsBox.java   
void notifyCloseAction() {
    if (isMenuOpen) {
        isMenuOpen = false;

        RotateTransition rotate = new RotateTransition(Duration.seconds(0.2), menuButton.getGraphic());
        rotate.setToAngle(0);
        rotate.play();

        hideAction.run();
    }
}
项目:AnchorFX    文件:DockCommandsBox.java   
void notifyOpenAction() {
    RotateTransition rotate = new RotateTransition(Duration.seconds(0.2), menuButton.getGraphic());
    rotate.setToAngle(90);
    rotate.play();

    openAction.run();
}
项目:analogclock    文件:AnalogClockDrawing.java   
@Override
public void start(Stage primaryStage) {

    StackPane root = new StackPane();
    Node clockDial = createClockDial();
    Node hourHand = createHourHand();
    Node minuteHand = createMinuteHand();
    Node secondHand = createSecondHand();
    Node centerPoint = createCenter();

    root.getChildren().addAll(
            clockDial, hourHand, minuteHand, secondHand, centerPoint
    );

    LocalTime time = LocalTime.now();
    RotateTransition secondsTransition = createRotateTransition(Duration.seconds(60), secondHand, getSecondsAngle(time));
    secondsTransition.play();
    RotateTransition minuteTransition = createRotateTransition(Duration.minutes(60), minuteHand, getMinuteAgnel(time));
    minuteTransition.play();
    RotateTransition hourTransition = createRotateTransition(Duration.hours(12), hourHand, getHourAngle(time));
    hourTransition.play();

    Scene scene = new Scene(root);

    primaryStage.setTitle("Clock");
    primaryStage.setScene(scene);
    primaryStage.show();
}
项目:analogclock    文件:AnalogClockDrawing.java   
RotateTransition createRotateTransition(Duration duration, Node node, int startAngle) {
    RotateTransition rt = new RotateTransition(duration, node);
    rt.setFromAngle(startAngle);
    rt.setByAngle(360);
    rt.setCycleCount(Animation.INDEFINITE);
    rt.setInterpolator(Interpolator.LINEAR);
    return rt;
}
项目:analogclock    文件:AnalogClockImaging.java   
/**
 * 360度回転を繰り返すアニメーションの設定。
 *
 * @param duration 1回転するのに要する時間
 * @param node 回転するノード
 * @param startAngle 回転開始角度
 * @return 指定下パラメータで初期化したRotateTransitionインスタンス
 */
private RotateTransition createRotateTransition(Duration duration, Node node, double startAngle) {
    RotateTransition rt = new RotateTransition(duration, node);
    rt.setFromAngle(startAngle);
    rt.setByAngle(360);
    rt.setCycleCount(Animation.INDEFINITE);
    rt.setInterpolator(Interpolator.LINEAR);
    return rt;
}
项目:Enzo    文件:MenuButton.java   
private void initGraphics() {
    setPickOnBounds(false);

    cross = new Region();
    cross.getStyleClass().add("cross");
    cross.setMouseTransparent(true);
    crossRotate = new RotateTransition(Duration.millis(200), cross);
    crossRotate.setInterpolator(Interpolator.EASE_BOTH);

    // Add all nodes
    getChildren().addAll(cross);
}