/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.dataprocess.gui.launcher.result.table;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
/**
*
*/
public class ResultTableCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
TreatmentResult treatmentResult = (TreatmentResult)value;
JLabel jLabel = new JLabel();
jLabel.setOpaque(true);
jLabel.setBorder(noFocusBorder);
if (!isSelected) {
jLabel.setBackground(table.getBackground());
}
else {
jLabel.setBackground(table.getSelectionBackground());
jLabel.setForeground(table.getSelectionForeground());
}
switch (column) {
case 0:
jLabel.setText(treatmentResult.getTitle());
break;
case 1:
jLabel.setHorizontalTextPosition(JLabel.CENTER);
jLabel.setText(treatmentResult.getStateLabel());
jLabel.setBackground(new Color(treatmentResult.getStateColor()));
break;
case 2:
jLabel.setText(treatmentResult.getMessage());
break;
default:
jLabel.setText("???");
break;
}
return jLabel;
}
}