我编写了一个执行一些长期运行任务的小应用程序。我希望显示一些(更改)有关应用程序的信息,而不是让用户等待和查看进度条。
为此,我在扩展Pane
的构造函数中编写了以下代码:
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。
答案 0 :(得分:0)
问题似乎是我调用了函数
seqTransition.play();
多次。从那里可能出现闪烁和不平等的等待时间。