Skip to content

Commit 4b4dc8e

Browse files
BoudewijnvanLangerakimagejan
authored andcommitted
Using the style to format number in the swing UI.
1 parent 5e791e6 commit 4b4dc8e

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/main/java/org/scijava/ui/swing/widget/SwingNumberWidget.java

+16
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ else if (model.isStyle(NumberWidget.SLIDER_STYLE)) {
119119
final SpinnerNumberModel spinnerModel =
120120
new SpinnerNumberModelFactory().createModel(value, min, max, stepSize);
121121
spinner = new JSpinner(spinnerModel);
122+
String format = getFormat(model);
123+
if (format != null) {
124+
spinner.setEditor(new JSpinner.NumberEditor(spinner, format));
125+
}
126+
122127
Dimension spinnerSize = spinner.getSize();
123128
spinnerSize.width = 50;
124129
spinner.setPreferredSize(spinnerSize);
@@ -132,6 +137,17 @@ else if (model.isStyle(NumberWidget.SLIDER_STYLE)) {
132137
syncSliders();
133138
}
134139

140+
private String getFormat(WidgetModel model) {
141+
final String widgetStyle = model.getItem().getWidgetStyle();
142+
String format = null;
143+
for (final String s : widgetStyle.split(",")) {
144+
if (s.startsWith("format:")) {
145+
format = s.substring(s.indexOf(":") + 1).trim();
146+
}
147+
}
148+
return format;
149+
}
150+
135151
// -- Typed methods --
136152

137153
@Override

0 commit comments

Comments
 (0)