我有一个用于启动骰子的应用程序,当您按下按钮启动它时,会创建一个随机数6次(使用Thread.sleep()),因此必须显示与该数字对应的面部骰子,但这里只显示最后一位数字,其他数据显示之前没有出现。 这是我的代码:
私人列表listeFaceDice;
for(i=0;i<6;i++) {
setRandomNum(rand.nextInt((6 - 1) + 1) + 1);
imageView.setImage(listeFaceDice.get(randomNum-1));
Thread.sleep(1000);
}
使用TimeLine:
Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(0.5), event -> {
setRandomNum(rand.nextInt((6 - 1) + 1) + 1);
imageView.setImage(listeFaceDice.get(randomNum-1));
//System.out.println(getRandomNum());
}));
timeline.setCycleCount(6);
timeline.play();
timeline.setOnFinished(e -> {
setRandomNum(randomNum);
});
它适用于LimeLine的时间,但我不知道如何在动画结束时获取值,因为我在按下按钮时调用了此方法。 提前谢谢;)