diff --git a/swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java b/swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java index 4e121af26..d7c58e352 100644 --- a/swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java +++ b/swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java @@ -773,6 +773,12 @@ public class DoubleModel implements StateChangeListener, ChangeSource, Invalidat */ public void setValue(double v) { checkState(true); + + double clampedValue = MathUtil.clamp(v, minValue, maxValue); + if (clampedValue != v) { + log.debug("Clamped value " + v + " to " + clampedValue + " for " + this); + v = clampedValue; + } log.debug("Setting value " + v + " for " + this); if (setMethod == null) { diff --git a/swing/src/net/sf/openrocket/gui/dialogs/preferences/SimulationPreferencesPanel.java b/swing/src/net/sf/openrocket/gui/dialogs/preferences/SimulationPreferencesPanel.java index 88835fcdc..10af0a981 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/preferences/SimulationPreferencesPanel.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/preferences/SimulationPreferencesPanel.java @@ -135,7 +135,7 @@ public class SimulationPreferencesPanel extends PreferencesPanel { subsub.add(label, "gapright para"); DoubleModel m_ts = new DoubleModel(preferences, "TimeStep", UnitGroup.UNITS_TIME_STEP, - 0, 1); + 0.01, 1); spin = new JSpinner(m_ts.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); @@ -145,7 +145,7 @@ public class SimulationPreferencesPanel extends PreferencesPanel { unit = new UnitSelector(m_ts); unit.setToolTipText(tip); subsub.add(unit, ""); - slider = new BasicSlider(m_ts.getSliderModel(0, 0.2)); + slider = new BasicSlider(m_ts.getSliderModel(0.01, 0.2)); slider.setToolTipText(tip); subsub.add(slider, "w 100"); diff --git a/swing/src/net/sf/openrocket/gui/simulation/SimulationOptionsPanel.java b/swing/src/net/sf/openrocket/gui/simulation/SimulationOptionsPanel.java index 00cdb5e35..0ee297b2b 100644 --- a/swing/src/net/sf/openrocket/gui/simulation/SimulationOptionsPanel.java +++ b/swing/src/net/sf/openrocket/gui/simulation/SimulationOptionsPanel.java @@ -143,7 +143,7 @@ class SimulationOptionsPanel extends JPanel { subsub.add(label, "gapright para"); m = new DoubleModel(conditions, "TimeStep", UnitGroup.UNITS_TIME_STEP, - 0, 1); + 0.01, 1); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); @@ -153,7 +153,7 @@ class SimulationOptionsPanel extends JPanel { unit = new UnitSelector(m); unit.setToolTipText(tip); subsub.add(unit, ""); - slider = new BasicSlider(m.getSliderModel(0, 0.2)); + slider = new BasicSlider(m.getSliderModel(0.01, 0.2)); slider.setToolTipText(tip); subsub.add(slider, "w 100");