10

如何为 a 配置拇指的大小JSlider

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

我正在使用 Windows 7 的外观和感觉,滑块如下所示:

滑块截图

启用paintTicks0 的主要和次要刻度间距可以提供更好的(尽管不是首选)显示:

启用了paintTicks 的滑块的屏幕截图

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

原生滑块的屏幕截图

4

2 回答 2

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实例,这可能会使这种方法不受欢迎。

于 2011-08-22T14:06:35.500 回答
2

这取决于 SliderUI,它可能具有硬编码的大小。如果不是,如果您希望所有滑块的拇指大小相同,则使用 mre 的建议将是一种方法。

除了为使用它们的 UI 设置默认值之外,您还可以为特殊的滑块(例如myslider.setUI(new MyCustonSliderUI()))定义不同的 UI,但请注意,这有其自身的缺点。

于 2011-08-22T14:13:46.377 回答