Java 如何在Swing中平滑滚动列表

Java 如何在Swing中平滑滚动列表,java,user-interface,swing,animation,scroll,Java,User Interface,Swing,Animation,Scroll,在iPhone上,滚动列表的动画效果很好。忽略惯性效应(尽管拥有它也很酷)——我如何才能让Swing列表框像那样平滑地滚动呢 还有其他的例子,比如浏览器,但它们使用我无法在Swing中使用的本机控件。如果使用JList请尝试覆盖getScrollableUnitIncrement(矩形,int,int)和getScrollableBlockIncrement(矩形,int,int)以返回自定义增量。。e、 g.2像素,而不是从列表条目高度计算的默认值。我不确定这是否回答了您的问题,但我有一个类似

在iPhone上,滚动列表的动画效果很好。忽略惯性效应(尽管拥有它也很酷)——我如何才能让Swing列表框像那样平滑地滚动呢


还有其他的例子,比如浏览器,但它们使用我无法在Swing中使用的本机控件。

如果使用
JList
请尝试覆盖
getScrollableUnitIncrement(矩形,int,int)
getScrollableBlockIncrement(矩形,int,int)
以返回自定义增量。。e、 g.2像素,而不是从列表条目高度计算的默认值。

我不确定这是否回答了您的问题,但我有一个类似的问题。我的问题是,拖动垂直JScrollPane旋钮会使JList按块而不是按单位滚动,也就是说,除了列表滚动到底部外,顶部单元格始终以整体显示

奇怪的是,这只发生在使用Windows外观时。通过使用默认L&F,我得到了我想要的行为。经过大量的挖掘,我发现了L&F的财产。默认情况下,这对于Windows L&F为true,但您可以将其设置为false,如下所示:

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