设置JSlider拇指的大小

时间:2011-08-22 13:59:15

标签: java swing jslider

如何为JSlider配置拇指大小?

使用默认值,以及JSlider为256的范围时,拇指只有几个像素宽,这使得用鼠标控制起来非常困难。

我使用的是Windows 7外观,滑块如下所示:

Screenshot of slider

使用主要和次要刻度线间距为0的paintTicks可以提供更好的(虽然不是首选)显示:

Screenshot of slider with paintTicks enabled

所需的显示如下图所示 - 取自本机Windows 7应用程序:

Screenshot of native slider

2 个答案:

答案 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())),但请注意,这有其自身的缺点。