基本上,我只是想在程序启动后每秒自动打开一个阶段。我打算沿着这条路线继续走下去,同时拥有多个使用不同阶段的时间轴,以便可以在其中放置不同的图像。这样做更实用的方法是什么?
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();
}
答案 0 :(得分:2)
这样的代码怎么样。您可以创建一个custom Dialog。然后将其放在您的计时器中。您还可以使用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();