绕枢轴旋转线? SceneBuilder JavaFx

时间:2017-04-20 06:46:44

标签: java javafx scenebuilder

如果可能的话,可以使用SceneBuilder旋转不在中心但在不同轴上的线。谢谢你的帮助。

我现在正在使用此代码,但枢轴位于中心位置:

@FXML
private Line lancettaQuadroCentrale;

@FXML

private void handleButtonAction(ActionEvent event) {
        System.out.println("You clicked me!");        
        RotateTransition rt = new RotateTransition(Duration.seconds(4),lancettaQuadroCentrale);
        rt.setByAngle(0);
        rt.setToAngle(220);
        rt.setCycleCount(Timeline.INDEFINITE);
            rt.setAutoReverse(true);
        rt.play();
    }

2 个答案:

答案 0 :(得分:0)

设置RotateTransition的轴:

rt.setAxis(new Point3D(10, 0, 0));

答案 1 :(得分:0)

您可以使用Timeline为应用于angle的{​​{3}} Line属性制作动画:

@FXML
private void handleButtonAction() {
    System.out.println("You clicked me!");

    Rotate rotate = new Rotate(0, pivotX, pivotY);

    lancettaQuadroCentrale.getTransforms().add(rotate);

    Timeline timeline = new Timeline(new KeyFrame(Duration.ZERO, new KeyValue(rotate.angleProperty(), 0d)),
                                     new KeyFrame(Duration.seconds(4), new KeyValue(rotate.angleProperty(), 220d)));      

    timeline.setCycleCount(Animation.INDEFINITE);
    timeline.setAutoReverse(true);

    timeline.play();
}