Question

I've been trying to find a way to do this for a while now and can't quite seem to figure it out. I know you can change the orientation of a JSlider, using setOrientation(HORIZONTAL|VERTICAL), and that you can also invert the scale, using setInverted(true). My problem is as follows:

1) The JSlider needs to be horizontal;
2) The JSlider needs to be below the data;
3) The arrow (pointy-tip) on the actual slider should be pointing upwards, not downwards (i.e.: towards the data).

The only way I can fathom to do this is to overwrite the paintComponent method from JComponent and entirely re-code it for a custom JSlider, which seems a tad ridiculous, and I'm not even sure it would work.

Thanks for the help!

Was it helpful?

Solution

You can override the thumbnail used in UIManager How to hide the knob of jSlider?

UIManager.getLookAndFeelDefaults().put(
    "Slider.horizontalThumbIcon",
    new Icon('your_icon')
);

However, this would be done to all sliders in your program.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top