如何为JSlider
配置拇指大小?
使用默认值,以及JSlider
为256的范围时,拇指只有几个像素宽,这使得用鼠标控制起来非常困难。
我使用的是Windows 7外观,滑块如下所示:
使用主要和次要刻度线间距为0的paintTicks
可以提供更好的(虽然不是首选)显示:
所需的显示如下图所示 - 取自本机Windows 7应用程序:
答案 0 :(得分:3)
您可以尝试自定义JSlider
外观,如下所示:
UIDefaults defaults = UIManager.getDefaults();
defaults.put("Slider.thumbHeight", HEIGHT_AS_INTEGER); // change height
defaults.put("Slider.thumbWidth", WIDTH_AS_INTEGER); // change width
参考:
请务必注意,这些更改将适用于所有JSlider
个实例,这可能会使此方法不受欢迎。
答案 1 :(得分:2)
这取决于SliderUI,它可能具有硬编码大小。如果没有,如果你想为所有滑块提供相同的拇指大小,那么使用mre的建议是一种方法。
除了设置使用它们的UI的默认值之外,您还可以为特殊滑块定义不同的UI(例如myslider.setUI(new MyCustonSliderUI())
),但请注意,这有其自身的缺点。