java - JScrollbar 每 50 像素滚动一次

标签 java swing jscrollpane jscrollbar

我正在开发一个包含滚动条的程序。 在程序中,我得到了一个 500px 的可滚动字段,我希望滚动条每 50px 滚动一次。 所以我得到 10 页。 我不想显示一个页面的 50% 我只想一次显示一页。 那么如何更改滚动尺寸呢?

或者是否有更好的方法来实现这一点?

您好, 提前致谢 布拉姆

最佳答案

您可以使可滚动字段实现 Scrollable 接口(interface),该接口(interface)声明了滚动字段将用于决定滚动距离的两个方法,getScrollableUnitIncrement(滚轮,单击滚动箭头)和 getScrollableBlockIncrement(单击滚动条的轨道)。

如果你真的只希望它是 50,你可以使用

jScrollPane.getVerticalScrollBar().setUnitIncrement(50);
jScrollPane.getVerticalScrollBar().setBlockIncrement(50);

但是,如果用户然后拖动滚动条直到显示半页(我不认为这种行为可以轻易改变),滚动仍然会跳转 50 像素并显示下一页的一半......如果你实现 Scrollable,您可以根据当前可见的内容滚动的数量。

关于java - JScrollbar 每 50 像素滚动一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11936258/

相关文章:

java - 如何检查两个日期之间是否有至少 1 天的差异

通过远程访问找不到 java web start jar 文件

java - GridBagLayout 中 JScrollView 中的组件绘制得太小

java - 在滚动 Pane 中将滚动条设置为 "always on"

java - Android:更改一个 fragment 的应用栏高度并删除文本

java - 在不到 2 秒的时间内从控制台读取 600,000 个输入

Java:GUI 到 Controller 线程通信

java - 如何在 JPasswordField 中启用剪切、复制?

java - 使 JTextPane 的文本横向移动而不是换行

java - 如何将 JScrollPane 调整为其包含的 JTree