1 package com.jsql.view.swing.panel.consoles;
2
3 import com.jsql.model.injection.strategy.blind.AbstractCallableBinary;
4 import com.jsql.view.swing.util.UiUtil;
5
6 import javax.swing.*;
7 import java.awt.*;
8 import java.util.List;
9
10 public class CenterRendererWithIcon extends CenterRenderer {
11
12 @Override
13 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
14 Object text = ((List<?>) value).get(0);
15 Object objectCallableBoolean = ((List<?>) value).get(1);
16
17 if (objectCallableBoolean != null) {
18 AbstractCallableBinary<?> callableBoolean = (AbstractCallableBinary<?>) objectCallableBoolean;
19 String charText = callableBoolean.getCharText();
20 if (charText != null && charText.charAt(0) >= 32) {
21 text += ":" + callableBoolean.getCharText();
22 }
23 }
24
25 JLabel label = (JLabel) super.getTableCellRendererComponent(table, text, isSelected, hasFocus, row, column);
26 label.setIcon(null);
27
28 if (column == 3 && objectCallableBoolean != null) {
29 AbstractCallableBinary<?> callableBoolean = (AbstractCallableBinary<?>) objectCallableBoolean;
30 if (!callableBoolean.isMultibit()) {
31 label.setIcon(callableBoolean.isTrue() ? UiUtil.TICK_GREEN.getIcon() : UiUtil.CROSS_RED.getIcon());
32 }
33 }
34 return label;
35 }
36 }