Как получить бесконечное количество открываемых этапов - PullRequest
0 голосов
/ 02 марта 2019

По сути, я просто пытаюсь автоматически открывать одну стадию каждую секунду, как только запускается программа.Я собирался продолжить этот маршрут, имея несколько временных шкал, которые используют разные этапы, чтобы я мог поместить в него разные изображения.Какой более практичный способ сделать это?

    mediaPlayer.play();
    int seconds = 1;
    Timeline timeline = new Timeline(
            new KeyFrame(Duration.seconds(seconds), e -> {
                BorderPane bpnew = new BorderPane();
                Scene repscene = new Scene(bpnew, 400, 450);
                Stage repstage = new Stage();
                repstage.setScene(repscene);
                repstage.show();
            })
        );
    timeline.setCycleCount(Animation.INDEFINITE);
    timeline.play();

    BorderPane root = new BorderPane();

    Scene scene = new Scene(root, 400, 450);
    primaryStage.setScene(scene);
    primaryStage.setTitle("Popup Test");
    primaryStage.show();
}

1 Ответ

0 голосов
/ 02 марта 2019

как насчет этого кода?Вы можете создать настраиваемый диалог .тогда просто поместите это в свой таймер.Вы также можете использовать AnimationTimer .работает как TimeLine, но вызывается 60 раз в секунду без каких-либо ограничений.

    Timeline timeline = new Timeline(
            new KeyFrame(Duration.seconds(5), e -> {
                Dialog< Void> dialog = new Dialog<>();
                dialog.setTitle( "Image");
                dialog.getDialogPane().getButtonTypes().add(ButtonType.OK);

                ImageView view = new ImageView("https://upload.wikimedia.org/wikipedia/commons/1/11/Cheetah_Kruger.jpg");

                ScrollPane root = new ScrollPane( view);
                root.setPrefWidth( 800);
                root.setPrefHeight( 600);

                dialog.getDialogPane().setContent( root);
                dialog.setResizable( true);
                dialog.show();
            })
        );
    timeline.setCycleCount(Animation.INDEFINITE);
    timeline.play();

еще несколько опций для периодических таймеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...