My guess is that the middle label is too small to display "100" because it was initially created with the narrower text "50", and JSlider doesn't act as a container which resizes its children as their preferred size changes, it just lays out the labels once.
Try initialising the label with "100" instead of "50".