Enabling/disabling JSlider controls both its appearance (enabled/disabled look) and action (whether or not the user can drag the slider thumb). I would like to decouple the two, so that I can explicitly control its appearance (enabled/disabled appearance) independent from its action (draggable/non-draggable thumb).
I tried adding a state change listener to restore the previous slider value if the action is supposed to be "disabled", but this does not preclude other change listeners from using the new value before the old one can be restored.
============================
To avoid questions about UI practices, I will restate the question strictly in terms of appearance, which I now see is the crux of my problem:
How can I change the appearance of a JSlider in a given enable state, such as changing the various colors used to paint it when it is enabled? And other colors when it is disabled?