我通过更改 a 的水平滚动条的值制作了动画JScrollPane
,类似于 android OS 屏幕之间的过渡。在跑步的前几秒(最多 10 秒),如果我要求动画,它不流畅并且有跳跃;但是在我玩了一段时间之后(要求动画),它变得非常流畅。为什么会发生这种情况,更重要的是如何解决?
我并不是说我的动画的前几秒不流畅,我的意思是当我第一次启动我的程序时,我要求动画不流畅,但后来,在接下来的时间里,那是平滑的。
final JScrollBar br = mainContainerScrollPane.getHorizontalScrollBar();
ActionListener toTheRight = new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
if (br.getValue() + 140 <= destinationScreenValue)
{
br.setValue(br.getValue() + 140);
} else
{
br.setValue(destinationScreenValue);
currentScreenName = destinationScreenName;
timer.stop();
}
}
};
timer = new Timer(10, toTheRight);
timer.setRepeats(true);
timer.setCoalesce(true);
timer.start();