平滑 Swing 动画

Smoothing Swing animations

我想知道如何让JScrollPane的自动过渡平滑。我正在使用

JScrollBar scroll = scollpane.getVerticalScrollBar();
scroll.setValue(scroll.getMaximum());

类似 JScrollPane.setUnitIncrement(inc) 的值 ~0.001 和增量之间的 10ms 延迟会有所帮助,我想,但是 setUnitIncrement 只需要 int 秒。

此外,我想要将 JList 之类的元素添加到带有 BoxLayoutJPanel 的同样流畅的动画。我希望它具有从上到下的平滑外观,而不是在使用 JPanel.add(JList).

时立即显示

我主要在寻找 AurelienRibon 的 SlidingLayoutTween 的实现,但我无法理解它。

流畅的动画(任何类型,在任何程序中)都是通过 Delta-Time 的实现完成的。

大多数框架都使用 Delta-Time 模式(那些没有这样做的框架是错误的,因为其他方法容易出现 Time-Drifting 错误),如果你不这样做就很难理解先不掌握Delta-Time的概念。