Добавить таймер для изображений в javafx

1

Я хочу добавить таймер для моих изображений в javafx, например, вначале, в течение примерно 3 секунд мое первое изображение было отображено, а в течение примерно 5 секунд появилось мое второе изображение, после чего ничего не показалось.

Теги:
javafx

1 ответ

2
Лучший ответ

Используйте Timeline для обновления imageProperty в качестве ImageView:

import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Duration;

public class ImageDisplayTest extends Application {

    @Override
    public void start(Stage primaryStage) {
        Image image1 = new Image("...") ;
        Image image2 = new Image("...")  ;
        ImageView imageView = new ImageView();
        Timeline timeline = new Timeline(
                new KeyFrame(Duration.ZERO, new KeyValue(imageView.imageProperty(), image1)),
                new KeyFrame(Duration.seconds(3), new KeyValue(imageView.imageProperty(), image2)),
                new KeyFrame(Duration.seconds(8), new KeyValue(imageView.imageProperty(), null))
                );
        timeline.play();
        StackPane root = new StackPane();
        root.getChildren().add(imageView);
        primaryStage.setScene(new Scene(root, 800, 600));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
  • 0
    большое спасибо . Другой вопрос, как я могу добавить 2 изображения в каждой продолжительности?
  • 0
    Просто создать дополнительный ImageView и KeyValue для его imageProperty в каждом KeyFrame . (Конструктор KeyFrame принимает произвольное количество значений KeyValue .)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню