【问题标题】:TranslateTransition JavaFX翻译过渡 JavaFX
【发布时间】:2015-10-18 20:49:58
【问题描述】:

我正在尝试为我的矩形实现 TranslateTransition,但它根本没有做任何事情。 这是我的代码:

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();

【问题讨论】:

    标签: user-interface animation javafx translate


    【解决方案1】:

    根据Group的文档:

    一个组将承担其子级的集体边界

    换句话说,当矩形移动时,组的坐标系会调整以适应它包含的所有内容。由于它包含的唯一内容是矩形,因此矩形相对于组的容器保持固定。

    使用Pane 而不是Group

    primaryStage.setTitle("AnimationTest");
    Pane pane = new Pane();
    
    Rectangle rect = new Rectangle(0,0,100,100);
    pane.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(pane, button);
    Scene scene = new Scene(layout, 600, 600);
    primaryStage.setScene(scene);
    primaryStage.show();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2016-12-03
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多