JAL-3371 use gui.Slider for OptAndParamPage min-max parameters
[jalview.git] / src / jalview / gui / Slider.java
index b913ba0..c8f673d 100644 (file)
@@ -29,7 +29,7 @@ public class Slider extends JSlider
    * scaleFactor applied to true value range to give a
    * slider range of 0 - 100
    */
-  private int sliderScaleFactor;
+  private float sliderScaleFactor;
 
   /**
    * Constructor that rescales min - max to 0 - 100 for the slider
@@ -57,9 +57,11 @@ public class Slider extends JSlider
     trueMin = min;
     trueMax = max;
     setMinimum(0);
-    sliderScaleFactor = (int) (100f / (max - min));
+    sliderScaleFactor = 100f / (max - min);
     int sliderMax = (int) ((max - min) * sliderScaleFactor);
-    setMaximum(sliderMax);
+    int extent = 1;
+    setExtent(extent);
+    setMaximum(sliderMax + extent);
     setSliderValue(value);
   }
 
@@ -75,7 +77,7 @@ public class Slider extends JSlider
      */
     int value = getValue();
     return value == getMaximum() ? trueMax
-            : value / (float) sliderScaleFactor + trueMin;
+            : value / sliderScaleFactor + trueMin;
   }
 
   /**
@@ -85,7 +87,7 @@ public class Slider extends JSlider
    */
   public void setSliderValue(float value)
   {
-    setValue((int) ((value - trueMin) * sliderScaleFactor));
+    setValue(Math.round((value - trueMin) * sliderScaleFactor));
   }
 
   /**