【发布时间】:2012-08-05 19:14:12
【问题描述】:
我创建了 JPanel,实现了 Scrollable 接口和覆盖方法 getScrollableBlockIncrement。
我将 JPanel 放入 JScrollPane 中。
JPanel 包含几个具有相同高度的组件。这个高度就是unitIncrement。
现在,当我单击垂直滚动条上的箭头时,视口按 unitIncrement 移动。
但是,当我用鼠标移动旋钮时,视口会移动像素。
如何使视口仅按unitIncrement移动?
更新:
旋钮是滚动条上的中间按钮,在轨道上,用来拖动它。如图所示How a Scroll Pane Works
我希望视口以任何方式仅按 unitIncrement 移动。此外,当我在旋钮上按下鼠标左键并拖动它时。示例行为:Eclipse 中的智能感知。
更新 2:
我试过
myJScrollPane.getVerticalScrollBar().setUnitIncrement(16);
并没有得到想要的行为。
调试代码时发现拖拽旋钮时参数unitIncrement被丢弃了。
更新 3:
使用 JScrollPane 找不到合适的解决方案并编写了自定义滚动窗格。
【问题讨论】:
-
鼠标旋钮是指scroll wheel吗?
-
Lukas Knuth,有用的链接,谢谢。但这不是重复的。
-
Trashgod,我读了这个并没有找到解决方案。查看更新。
标签: java swing jscrollpane