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();