Author: tchemit Date: 2014-02-07 16:55:06 +0100 (Fri, 07 Feb 2014) New Revision: 1579 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1579 Log: fixes #4374: [CAPTURE] les unit?\195?\169s ont disparu dans l'onglet r?\195?\169sum?\195?\169 Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2014-02-07 15:31:18 UTC (rev 1578) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2014-02-07 15:55:06 UTC (rev 1579) @@ -27,7 +27,9 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Sets; import fr.ifremer.tutti.type.WeightUnit; +import fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor; import jaxx.runtime.swing.JAXXWidgetUtil; +import jaxx.runtime.swing.editor.NumberEditor; import jaxx.runtime.swing.editor.cell.NumberCellEditor; import org.jdesktop.swingx.table.TableColumnExt; import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; @@ -58,6 +60,7 @@ import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; import org.nuiton.validator.bean.simple.SimpleBeanValidator; +import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.border.LineBorder; @@ -298,6 +301,32 @@ component.init(); } + protected void initLabel(JLabel jLabel) { + + WeightUnit weightUnit = (WeightUnit) jLabel.getClientProperty("addWeightUnit"); + if (weightUnit != null) { + String text = weightUnit.decorateLabel(jLabel.getText()); + jLabel.setText(text); + + String tip = weightUnit.decorateTip(jLabel.getToolTipText()); + jLabel.setToolTipText(tip); + + Component labelFor = jLabel.getLabelFor(); + if (labelFor instanceof ComputableDataEditor) { + + // set also the number of digits (4 for kg, 1 for g) + ComputableDataEditor editor = (ComputableDataEditor) labelFor; + editor.setNumberPattern(weightUnit.getNumberEditorPattern()); + editor.setDecimalNumber(weightUnit.getNumberDigits()); + } else if (labelFor instanceof NumberEditor) { + + // set also the number of digits (4 for kg, 1 for g) + NumberEditor editor = (NumberEditor) labelFor; + editor.setNumberPattern(weightUnit.getNumberEditorPattern()); + } + } + } + //------------------------------------------------------------------------// //-- Internal methods --// //------------------------------------------------------------------------//