如何在Swing中平滑滚动列表

在iPhone上滚动浏览列表是动画的动画。 忽略惯性效果(尽管它也很酷) – 我怎样才能让Swing列表框像这样平滑地滚动?

还有其他一些例子,比如浏览器,但那些使用我不能用于Swing的本机控件。

如果您正在使用JList尝试覆盖getScrollableUnitIncrement(Rectangle, int, int)getScrollableBlockIncrement(Rectangle, int, int)以返回自定义增量..例如,2个像素而不是从列表条目高度计算的默认值。

我不确定这会回答你的问题,但我遇到了类似的问题。 我的问题是拖动垂直JScrollPane旋钮使JList按块而不是按单位滚动,也就是说,顶部单元格总是以整数显示,除非列表滚动到底部。

奇怪的是,这只发生在使用Windows外观时。 通过使用默认的L&F,我得到了我想要的行为。 经过多次挖掘,我发现这篇post显示有L&F属性。 默认情况下,这适用于Windows L&F,但您可以将其设置为false,如下所示:

 UIManager.put("List.lockToPositionOnScroll", Boolean.FALSE);