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 e833419..8a881a2 100644 --- a/src/main/java/org/scijava/ui/swing/widget/SwingNumberWidget.java +++ b/src/main/java/org/scijava/ui/swing/widget/SwingNumberWidget.java @@ -119,6 +119,11 @@ else if (model.isStyle(NumberWidget.SLIDER_STYLE)) { final SpinnerNumberModel spinnerModel = new SpinnerNumberModelFactory().createModel(value, min, max, stepSize); spinner = new JSpinner(spinnerModel); + String format = getFormat(model); + if (format != null) { + spinner.setEditor(new JSpinner.NumberEditor(spinner, format)); + } + Dimension spinnerSize = spinner.getSize(); spinnerSize.width = 50; spinner.setPreferredSize(spinnerSize); @@ -132,6 +137,17 @@ else if (model.isStyle(NumberWidget.SLIDER_STYLE)) { syncSliders(); } + private String getFormat(WidgetModel model) { + final String widgetStyle = model.getItem().getWidgetStyle(); + String format = null; + for (final String s : widgetStyle.split(",")) { + if (s.startsWith("format:")) { + format = s.substring(s.indexOf(":") + 1).trim(); + } + } + return format; + } + // -- Typed methods -- @Override