TranslateTransition

XPenguen

Mitglied
Hallo,
Hier mein Code:
Java:
package sample;

import javafx.animation.*;
import javafx.application.Application;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Group;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.util.Duration;



public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("AnimationTest");
        Group group = new Group();

        Rectangle rect = new Rectangle(0,0,100,100);
        group.getChildren().add(rect);
        TranslateTransition transition =new TranslateTransition(Duration.millis(1000),rect);
            transition.setByX(100);
       





        Button button = new Button("StartAnimation");
            button.setOnAction((e)->{
                transition.play();
            });
        VBox layout = new VBox();
        layout.getChildren().addAll(group, button);
        Scene scene = new Scene(layout, 600, 600);
        primaryStage.setScene(scene);
        primaryStage.show();

    }


    public static void main(String[] args) {
        launch(args);
    }
}

Wenn ich auf den Button klicke, sollte die Animation eigentlich ablaufen, aber es passiert nichts.
Wäre schön, wenn mir jemand helfen könnte.:)
 

Java20134

Bekanntes Mitglied
Füge die Methode setCycleCount(5) einmal hinzu. Dadurch definierst du, dass die Animation fünfmal abgespielt wird.

Wenn die Animation bescheiden aussieht, so musst du einfach nur noch die Methode setAutoReverse(true) benutzen.

Wenn diese Lösungsmöglichkeiten immer noch nicht funktionieren, dann versuch einmal die Methoden setToX/Y/Z oder setFromX/Y/Z.
 

Neue Themen


Oben