Animation JavaFX:暂停转换,而不是相等的时间
我编写了一个小应用程序,它执行一些长时间运行的任务。我希望显示一些关于应用程序的(正在更改的)信息,而不是让用户等待并只看到一个进度条 为此,我在扩展的Animation JavaFX:暂停转换,而不是相等的时间,animation,javafx-2,javafx,Animation,Javafx 2,Javafx,我编写了一个小应用程序,它执行一些长时间运行的任务。我希望显示一些关于应用程序的(正在更改的)信息,而不是让用户等待并只看到一个进度条 为此,我在扩展的窗格的构造函数中编写了以下代码: FadeTransition fadeOutTransition = new FadeTransition(Duration.millis(1000), this); fadeOutTransition.setFromValue(0.8); fadeOutTransition.setToValue(0.0);
窗格的构造函数中编写了以下代码:
FadeTransition fadeOutTransition = new FadeTransition(Duration.millis(1000), this);
fadeOutTransition.setFromValue(0.8);
fadeOutTransition.setToValue(0.0);
类似地,fadeInTransition
。而且
SequentialTransition seqTransition = new SequentialTransition (
new Transition() {
{ setInterpolator(Interpolator.DISCRETE);
setCycleDuration(Duration.seconds(1)); }
protected void interpolate(double frac) {
int nextElement = (int) ((explenations.size() - 1) * Math.random());
Explenation explenation = explenations.get(nextElement);
questionLabel.setText(explenation.getQuestion());
answerLabel.setText(explenation.getAnswer());
}
},
fadeInTransition,
new PauseTransition(Duration.seconds(15)),
fadeOutTransition
);
我想要的是文本淡入,在那里停留约15秒,然后再次淡出。不幸的是,动画会闪烁,移动得越来越快,越来越慢,PauseTransition
从不需要15秒!代码有什么问题?我在Mac OS X上使用Java 7和JavaFX 2.2。问题似乎是我调用了该函数
seqTransition.play();
多次。可能是因为闪烁和不等的等待时间