如何在Swing中平滑滚动列表

时间:2009-06-16 07:07:31

标签: java user-interface swing animation scroll

在iPhone上滚动列表动画很流畅。忽略惯性效果(虽然它也很酷) - 我怎样才能让Swing列表框像这样顺利滚动?

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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

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

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