所使用的javafx版本为jdk1.8的版本,在RotateTransition类中不存在方法setPivotX()和方法setPivotY(),请基于jdk1.8的javafx重新编写这段程序。
时间: 2023-11-27 19:54:46 浏览: 64
javafx使用方法
好的,基于jdk1.8的javafx,以下是重新编写的程序:
```java
import javafx.animation.RotateTransition;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.util.Duration;
public class RotateSquare extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
//创建一个矩形对象
Rectangle rect = new Rectangle();
rect.setX(50);
rect.setY(50);
rect.setWidth(100);
rect.setHeight(100);
rect.setFill(Color.BLUE);
//创建一个Group对象
Group root = new Group(rect);
//创建一个Scene对象
Scene scene = new Scene(root, 300, 250, Color.WHITE);
//创建RotateTransition对象
RotateTransition rotateTransition = new RotateTransition(Duration.millis(2000), rect);
//设置旋转角度
rotateTransition.setByAngle(360);
//设置旋转中心
rotateTransition.setPivotX(rect.getX() + rect.getWidth() / 2);
rotateTransition.setPivotY(rect.getY() + rect.getHeight() / 2);
//设置循环次数
rotateTransition.setCycleCount(2);
//设置动画结束后是否反向执行
rotateTransition.setAutoReverse(true);
//播放动画
rotateTransition.play();
primaryStage.setTitle("JavaFX Rotate Square");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
在这个程序中,我们使用了 `RotateTransition` 来实现矩形的旋转动画,并且使用了 `setPivotX()` 和 `setPivotY()` 方法来设置旋转中心。
阅读全文