diff --git a/pom.xml b/pom.xml index 9190725..79ffe7c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 6.1.0 + 7.1.0 diff --git a/src/main/java/org/scijava/ui/swing/widget/SwingNumberWidget.java b/src/main/java/org/scijava/ui/swing/widget/SwingNumberWidget.java index 914e18c..f95cfaa 100644 --- a/src/main/java/org/scijava/ui/swing/widget/SwingNumberWidget.java +++ b/src/main/java/org/scijava/ui/swing/widget/SwingNumberWidget.java @@ -52,10 +52,10 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import org.scijava.module.ModuleService; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; import org.scijava.thread.ThreadService; -import org.scijava.util.NumberUtils; import org.scijava.widget.InputWidget; import org.scijava.widget.NumberWidget; import org.scijava.widget.WidgetModel; @@ -73,6 +73,9 @@ public class SwingNumberWidget extends SwingInputWidget implements @Parameter private ThreadService threadService; + @Parameter + private ModuleService moduleService; + private JScrollBar scrollBar; private JSlider slider; private JSpinner spinner; @@ -123,8 +126,14 @@ else if (model.isStyle(NumberWidget.SLIDER_STYLE)) { // add spinner widget final Class type = model.getItem().getType(); if (model.getValue() == null) { - final Number defaultValue = NumberUtils.getDefaultValue(min, max, type); - model.setValue(defaultValue); + final Object defaultValue = + moduleService.getDefaultValue(model.getItem()); + if (!(defaultValue instanceof Number)) { + throw new IllegalStateException("Invalid default value type: " + + defaultValue.getClass().getName()); + } + final Number defaultNumber = (Number) defaultValue; + model.setValue(defaultNumber); } final Number value = (Number) model.getValue(); final SpinnerNumberModel spinnerModel =