1 package fr.ifremer.reefdb.ui.swing.util.table.renderer;
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 import javax.swing.JLabel;
27 import javax.swing.JTable;
28 import javax.swing.table.TableCellRenderer;
29 import java.awt.Component;
30
31 import static org.nuiton.i18n.I18n.t;
32
33
34
35
36 public class MultipleValueCellRenderer implements TableCellRenderer {
37
38 private final TableCellRenderer delegate;
39 private final JLabel multiValueLabel;
40
41 public MultipleValueCellRenderer(TableCellRenderer delegate) {
42 this.delegate = delegate;
43 multiValueLabel = createMultiValueLabel();
44 }
45
46 private JLabel createMultiValueLabel() {
47 JLabel label = new JLabel(t("reefdb.measurement.grouped.multiEdit.multiValueLabel"));
48 label.setOpaque(true);
49 return label;
50 }
51
52 @Override
53 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
54 return value == null
55 ? multiValueLabel
56 : delegate.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
57 }
58 }