1
私は16枚のパズルアプリケーションの解をアニメーション化しようとしています。私はTimerクラスの使い方の提案をしています。現在のところ、アニメーションは非常に高速に実行され、最終状態のみが表示されます。私は3000msに遅延を増やしてみましたが、結果は同じでした。Java遅延フレームの再塗りつぶし
public void animateSolution(Node node)
{
Stack<Node> solution = new Stack<>();
while (node != null)
{
solution.push(node);
node = node.getParent();
}
while (!solution.isEmpty())
{
Node current = solution.pop();
Timer timer = new Timer(750, new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
moveBuilder(current);
repaint();
}
});
timer.setRepeats(false);
timer.start();
}
}
ありがとうございます。実際にはソリューションの最終化なしでも機能しました。 –