@Override
    public void stateChanged(ChangeEvent event) {
      updateThumbBounds(false);
      // TODO: update mouse
      isValueCached = false;
      repaint();
    }
@Override
    public void stateChanged(ChangeEvent event)