请用javafx实现一条线段绕其一端旋转
时间: 2023-11-27 17:54:30 浏览: 184
以下是使用 JavaFX 实现一条线段绕其一端旋转的示例代码:
```java
import javafx.animation.Animation;
import javafx.animation.RotateTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
import javafx.util.Duration;
public class LineRotation extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// 创建一个线段
Line line = new Line(100, 100, 200, 100);
// 创建一个 Pane 容器,将线段添加到容器中
Pane root = new Pane(line);
// 创建一个旋转动画,绕线段的起点向逆时针方向旋转360度
RotateTransition rotateTransition = new RotateTransition(Duration.seconds(2), line);
rotateTransition.setByAngle(360);
rotateTransition.setCycleCount(Animation.INDEFINITE);
rotateTransition.setInterpolator(null);
// 将动画开始的点设置在线段的起点上
rotateTransition.setPivotX(line.getStartX());
rotateTransition.setPivotY(line.getStartY());
// 开始动画
rotateTransition.play();
// 创建一个 Scene 并将 Pane 容器添加到其中
Scene scene = new Scene(root, 300, 200);
// 设置窗口标题并显示窗口
primaryStage.setTitle("Line Rotation");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
在这个示例代码中,我们首先创建了一个线段,并将其添加到一个 Pane 容器中。然后创建了一个旋转动画,将动画的起点设置在线段的起点上,并绕其逆时针方向旋转360度。最后将动画开始,并将 Pane 容器添加到 Scene 中,显示窗口。
运行该示例代码后,您将看到一条线段绕其一端旋转的效果。