javafx中如何用按钮启动一个静止的动画
时间: 2024-01-22 18:19:16 浏览: 139
您可以使用JavaFX中的Timeline类来创建一个静态动画,并使用Button类的ActionEvent来启动它。
以下是一个简单的示例代码,其中创建了一个圆形,并将其移动到画布的右侧:
```
import javafx.animation.TranslateTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
import javafx.util.Duration;
public class AnimatedButton extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// create a circle
Circle circle = new Circle(20);
circle.setTranslateX(20);
circle.setTranslateY(100);
// create a translate transition
TranslateTransition translate = new TranslateTransition(Duration.seconds(3), circle);
translate.setToX(280);
// create a button to start the animation
Button button = new Button("Start Animation");
button.setOnAction(event -> translate.play());
// add the circle and button to a pane
Pane pane = new Pane(circle, button);
Scene scene = new Scene(pane, 300, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
在此示例中,我们使用TranslateTransition类创建了一个移动动画,并将其应用于圆形对象。然后,我们创建了一个按钮,并指定当按钮被点击时启动动画。
注意,我们使用play()方法启动动画。在实际开发中,您还可以使用pause()、stop()等方法控制动画的播放。
阅读全文