From bac5e594e962fc418addf15a7b69ee9a580b7861 Mon Sep 17 00:00:00 2001 From: Boudewijn van Langerak Date: Sun, 18 Oct 2020 07:30:54 +0200 Subject: [PATCH 1/3] Using the style to format number in the swing UI. --- pom.xml | 2 +- .../java/org/scijava/ui/swing/widget/SwingNumberWidget.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5f54f75..cbf1af0 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 28.0.0 + 30.0.0-SNAPSHOT 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..39e642e 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,10 @@ else if (model.isStyle(NumberWidget.SLIDER_STYLE)) { final SpinnerNumberModel spinnerModel = new SpinnerNumberModelFactory().createModel(value, min, max, stepSize); spinner = new JSpinner(spinnerModel); + if (model.isStyle(NumberWidget.FORMAT_8_DIGITS)) { + spinner.setEditor(new JSpinner.NumberEditor(spinner, "0.00000000")); + } + Dimension spinnerSize = spinner.getSize(); spinnerSize.width = 50; spinner.setPreferredSize(spinnerSize); From 4edf53bf861e551ae3859b8c32e23cf7f2f43d4b Mon Sep 17 00:00:00 2001 From: Boudewijn van Langerak Date: Sun, 18 Oct 2020 14:38:07 +0200 Subject: [PATCH 2/3] Using the style to format number in the swing UI. made usage of format flexible --- .../ui/swing/widget/SwingNumberWidget.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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 39e642e..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,8 +119,9 @@ else if (model.isStyle(NumberWidget.SLIDER_STYLE)) { final SpinnerNumberModel spinnerModel = new SpinnerNumberModelFactory().createModel(value, min, max, stepSize); spinner = new JSpinner(spinnerModel); - if (model.isStyle(NumberWidget.FORMAT_8_DIGITS)) { - spinner.setEditor(new JSpinner.NumberEditor(spinner, "0.00000000")); + String format = getFormat(model); + if (format != null) { + spinner.setEditor(new JSpinner.NumberEditor(spinner, format)); } Dimension spinnerSize = spinner.getSize(); @@ -136,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 From 1a91d05bb5e36680df73d33c4aefba6f4c738c13 Mon Sep 17 00:00:00 2001 From: Boudewijn van Langerak Date: Sun, 18 Oct 2020 14:40:15 +0200 Subject: [PATCH 3/3] Using the style to format number in the swing UI. reverted pom change --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cbf1af0..5f54f75 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 30.0.0-SNAPSHOT + 28.0.0