javafx使用按钮出现动画
时间: 2024-06-08 21:08:48 浏览: 132
可以使用JavaFX中的Transition类来实现按钮动画,以下是一个简单的例子:
```java
import javafx.animation.TranslateTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Duration;
public class ButtonAnimation extends Application {
@Override
public void start(Stage primaryStage) {
Button button = new Button("Click me!");
StackPane root = new StackPane(button);
Scene scene = new Scene(root, 300, 250);
TranslateTransition transition = new TranslateTransition(Duration.seconds(1), button);
transition.setFromX(0);
transition.setToX(100);
transition.setAutoReverse(true);
transition.setCycleCount(TranslateTransition.INDEFINITE);
button.setOnAction(event -> {
if (transition.getStatus() == TranslateTransition.Status.RUNNING) {
transition.stop();
} else {
transition.play();
}
});
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
这个例子中创建了一个按钮,并将其放在一个StackPane中。然后使用TranslateTransition类来创建一个平移动画,设置其持续时间为1秒,并将按钮从初始位置(0)向右平移100个像素。接着设置自动反向和无限循环。最后将动画附加到按钮的Action事件上,当按钮被点击时,切换动画的状态(播放或停止)。
阅读全文