1 package fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import org.apache.commons.lang3.StringUtils;
28
29 import javax.swing.JTable;
30 import javax.swing.table.DefaultTableCellRenderer;
31 import java.awt.Component;
32
33 import static org.nuiton.i18n.I18n.n;
34 import static org.nuiton.i18n.I18n.t;
35
36
37
38
39
40 public class SamplingCodeCellRenderer extends DefaultTableCellRenderer {
41
42 public static final String TEXT_PATTERN = "<html><body>%s</body></html>";
43
44 private final String noneText;
45
46 public static SamplingCodeCellRenderer newRender() {
47 return new SamplingCodeCellRenderer();
48 }
49
50 protected SamplingCodeCellRenderer() {
51 setHorizontalAlignment(LEFT);
52 this.noneText = n("tutti.editIndividualObservationBatch.table.renderer.sampleCodeEdition.none");
53 }
54
55 @Override
56 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
57 super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
58
59 String sampleCode = (String) value;
60 setToolTipText(getText());
61 String toolTipTextValue;
62
63 if (StringUtils.isEmpty(sampleCode)) {
64
65 toolTipTextValue = "<i>" + t(noneText) + "</i>";
66
67 } else {
68 toolTipTextValue = sampleCode;
69
70 }
71 setToolTipText(String.format(TEXT_PATTERN, toolTipTextValue));
72
73 return this;
74 }
75 }