protected JSlider getJSlider() {
    int min = 1, max = 36, inc = 5;
    final JSlider slider = new JSlider(min, max, 16);
    slider.setMajorTickSpacing(5);
    slider.setMinorTickSpacing(1);
    slider.setPaintTicks(true);
    slider.setSnapToTicks(true);
    slider.setLabelTable(getLabelTable(min, max, inc));
    slider.setPaintLabels(true);
    slider.addChangeListener(new ChangeListener() {
      public void stateChanged(ChangeEvent e) {
        double scale = (slider.getValue() + 4) / 20.0;
        zoom(scale);
        repaint();
      }
    });
    return slider;
  }