从 JScrollPane 中的 Swing 滚动条中删除箭头
我想从 JScrollPane 中的滚动条中删除滚动条箭头按钮。我该怎么做?
I would like to remove the scrollbar arrow buttons from a scrollbar in a JScrollPane. How would I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
删除
按钮为接下来留出空间。我发现将按钮归零是最简单的方法。
}
Removing buttons let space for then. I found make buttons zero as the simplest way.
如果您使用的是 JScrollBar 的基本版本,那么它可能是使用 BasicScrollBarUI 进行渲染的。我建议您扩展 BasicScrollBarUI 来创建自定义 UI 类(如 MyBasicScrollBarUI)。这些按钮是超类中受保护的变量。因此,您需要重写子类中的 installComponents() 方法,并确保不添加按钮。请参阅下面的代码片段并按照那里的建议隐藏这些行。
然后,在初始化 JScrollBar 后的代码中,您可以调用 setUI() 并传入 MyBasicScrollBarUI 类的实例。
注意:我自己还没有尝试过,但从代码来看它似乎可以工作。
If you are using the basic version of JScrollBar, then it is probably rendering using the BasicScrollBarUI. I would suggest that you extend BasicScrollBarUI to create a custom UI class (like MyBasicScrollBarUI) . The buttons are protected variables in the superclass. So you need to override the installComponents() methods in the subclass and make sure that you do not add the buttons. See the below code snippet and hide the lines as suggested there.
Then, in your code after you initialize a JScrollBar, you can call setUI() and pass in an instance of MyBasicScrollBarUI class.
Note: I havent tried this myself, but from the code it looks like it could work.
这不是最优雅的方式......但对我有用
It is not the most elegant way... but works for me
这就是我走过的路。
never
MouseWheelListener
模仿此行为此方法:
L&F
的优点。下面是删除
垂直滚动条
的示例代码。This is the way i went.
never
MouseWheelListener
This method:
L&F
.Below is a sample code for removing the
verticall scroll bar
.