设置 JSlider 拇指的大小
如何为 JSlider
配置拇指的大小?
使用默认值以及 JSlider 的范围为 256 时,拇指只有几个像素宽,这使得用鼠标控制变得非常困难。
我使用的是 Windows 7 外观,滑块如下所示:
启用 paintTicks 的主要和次要刻度间距为 0 可提供更好的(尽管不是首选)显示:
所需的显示如下图所示 - 取自本机 Windows 7 应用程序:
How can the size of the thumb be configured for a JSlider
?
With the defaults, and a range for the JSlider
of 256, the thumb is only a few pixels wide, which makes it quite difficult to control with a mouse.
I am using the Windows 7 look and feel and the slider looks like this:
Enabling paintTicks
with a major and minor tick spacing of 0 gives a better (although not preferred) display:
The desired display is shown in the following image - taken from a native Windows 7 application:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以尝试自定义
JSlider
外观,如下所示:参考:
需要注意的是,这些更改将应用于所有
JSlider
实例,这可能会使这种方法不受欢迎的。You could try customizing the
JSlider
Look and Feel as follows:Reference:
It's important to note that these changes will apply to all
JSlider
instances, which may make this approach undesirable.这取决于 SliderUI,它可能具有硬编码的大小。如果没有,如果您希望所有滑块具有相同的拇指大小,那么使用 mre 的建议将是一种可行的方法。
除了为使用它们的 UI 设置默认值之外,您还可以为特殊滑块定义不同的 UI(例如
myslider.setUI(new MyCustonSliderUI())
),但请注意,它有自己的 UI缺点。This depends on the SliderUI, which might have hard coded sizes. If not, using mre`s suggestion would be a way to go, if you want the same thumb size for all sliders.
Alternatively to setting the defaults for a UI that uses them, you could define a different UI for a special slider (e.g.
myslider.setUI(new MyCustonSliderUI())
), but be aware that that has its own drawbacks.