0
我寫了一個執行一些長時間運行任務的小應用程序。我不想讓用戶等待並看到進度條,而是想顯示一些(更改)關於應用程序的信息。JavaFX:暫停轉換,不等於時間
爲此,我寫擴展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
);
我woud喜歡的是淡入,在那裏停留約15秒,然後再次淡出的文本。不幸的是,動畫閃爍,移動得越來越快 - 而且PauseTransition
從不需要15秒!代碼有什麼問題?我使用的Java 7,和JavaFX 2.2在Mac OS X