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