Author: kmorin Date: 2013-03-14 17:14:31 +0100 (Thu, 14 Mar 2013) New Revision: 622 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/622 Log: fixes #2048 [ERGO] - Saisie des champs num?\195?\169riques : d?\195?\169cimales en plus et s?\195?\169parateur Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-03-14 16:04:51 UTC (rev 621) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-03-14 16:14:31 UTC (rev 622) @@ -171,11 +171,9 @@ } #speciesTotalSortedWeightField { - text: {getStringValue(model.getSpeciesTotalSortedWeight() != null ? - model.getSpeciesTotalSortedWeight() : - model.getSpeciesTotalSortedComputedWeight() != null ? - new java.text.DecimalFormat("#.###").format(model.getSpeciesTotalSortedComputedWeight()) : - null)}; + text: {model.getSpeciesTotalSortedWeight() != null ? + getStringValue(model.getSpeciesTotalSortedWeight()) : + getWeightStringValue(model.getSpeciesTotalSortedComputedWeight())}; _computed: true; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-14 16:04:51 UTC (rev 621) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-14 16:14:31 UTC (rev 622) @@ -202,15 +202,38 @@ return distanceText; } - protected static DecimalFormat weightDecimalFormat = new DecimalFormat("0.0##"); + private static DecimalFormatSymbols symbols; + public static DecimalFormatSymbols getDecimalFormatSymbols() { + if (symbols == null) { + symbols = new DecimalFormatSymbols(); + symbols.setDecimalSeparator('.'); + symbols.setGroupingSeparator(' '); + } + return symbols; + } + + private static DecimalFormat decimalFormat; + + public static DecimalFormat getDecimalFormat(int minDecimal, int maxDecimal) { + if (decimalFormat == null) { + decimalFormat = new DecimalFormat(); + decimalFormat.setDecimalFormatSymbols(getDecimalFormatSymbols()); + decimalFormat.setGroupingUsed(false); + } + decimalFormat.setMinimumFractionDigits(minDecimal); + decimalFormat.setMaximumFractionDigits(maxDecimal); + return decimalFormat; + } + public static String getWeightStringValue(Float weight) { String textValue; if (weight != null) { + DecimalFormat weightDecimalFormat = getDecimalFormat(1, 3); textValue = weightDecimalFormat.format(weight); } else { - textValue = JAXXUtil.getStringValue(weight); + textValue = ""; } return textValue; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java 2013-03-14 16:04:51 UTC (rev 621) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java 2013-03-14 16:14:31 UTC (rev 622) @@ -27,6 +27,7 @@ import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData; import fr.ifremer.tutti.ui.swing.util.TuttiUI; +import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; import jaxx.runtime.JAXXUtil; import jaxx.runtime.swing.editor.NumberEditorHandler; import org.apache.commons.logging.Log; @@ -124,8 +125,8 @@ Number computedData = bean.getComputedData(); if (editor.isUseFloat() && decimalNumber != null && computedData != null) { - String format = "0.0" + StringUtils.repeat("#", decimalNumber - 1); - modelText = new DecimalFormat(format).format(computedData); + DecimalFormat decimalFormat = TuttiUIUtil.getDecimalFormat(1, decimalNumber); + modelText = decimalFormat.format(computedData); } else { modelText = JAXXUtil.getStringValue(computedData); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java 2013-03-14 16:04:51 UTC (rev 621) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java 2013-03-14 16:14:31 UTC (rev 622) @@ -26,6 +26,7 @@ import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData; import fr.ifremer.tutti.ui.swing.util.TuttiUI; +import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; import jaxx.runtime.JAXXUtil; import javax.swing.AbstractCellEditor; @@ -220,9 +221,8 @@ foreground = computedDataColor; if (useFloat && decimalNumber != null && dataValue != null) { - String format = "0.0" + StringUtils.repeat("#", decimalNumber - 1); - text = JAXXUtil.getStringValue( - new DecimalFormat(format).format(dataValue)); + DecimalFormat decimalFormat = TuttiUIUtil.getDecimalFormat(1, decimalNumber); + text = JAXXUtil.getStringValue(decimalFormat.format(dataValue)); } else { text = JAXXUtil.getStringValue(dataValue); }