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:
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.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.