我有一个非常大的数据视图。我想要一个用户的滚动条,但我想覆盖滚动条处理按向上和向下箭头(或键盘上的向上和向下键)的标准方式,以及单击向上和向上执行页面的轨道区域向下翻页。这是因为数据被流式传输到视图中,而 JScrollBar 的“最小值/最大值/值”模型对此不起作用。
处理这些鼠标或按键事件的标准方法是通过“单位增量”(较小的值)或“块增量”(较大的值)来调整滚动条的值。 我不希望滚动条在单击时更改其值;我只想收到一个事件,说“用户请求向上滚动一个块”或“用户请求向下滚动一个单元”。有谁知道这样做的方法?
顺便说一句,似乎BasicScrollBarUI$TrackListener.mousePressed(MouseEvent)
处理点击,它总是调用scrollbar.setValue(newValue)
. 所以我可能不走运:(
也许有办法用 SWT 滚动条做到这一点?