1 package fr.ifremer.quadrige3.ui.swing.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
27 import javax.swing.JCheckBox;
28 import javax.swing.JTable;
29 import java.awt.Component;
30
31
32
33
34
35
36 public class LabeledCheckBoxRenderer extends CheckBoxRenderer {
37
38
39 @Override
40 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
41
42 boolean checked;
43 String text;
44 if (value instanceof LabeledCheckBoxBean) {
45 LabeledCheckBoxBean bean = (LabeledCheckBoxBean) value;
46 checked = bean.isChecked();
47 text = bean.getText();
48 } else {
49 checked = (boolean) value;
50 text = null;
51 }
52 JCheckBox render = (JCheckBox) super.getTableCellRendererComponent(table, checked, isSelected, hasFocus, row, column);
53 boolean editable = table.isCellEditable(row, column);
54 render.setEnabled(editable);
55 render.setText(text);
56 return render;
57 }
58
59 }