package nl.tudelft.bw4t.scenariogui.util;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import nl.tudelft.bw4t.scenariogui.editor.gui.EntityPanel;
/**
* This class is used for changing the text color in the entityPanel tables.
*/
public class EntityTableCellRenderer extends DefaultTableCellRenderer {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 3827222514194681729L;
/** (non-Javadoc)
* @see javax.swing.table.DefaultTableCellRenderer#getTableCellRendererComponent
* (javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
*/
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column){
Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (table.getName().equals(EntityPanel.getBotTableName())) {
setAppropriateColorBotTableName(value, column, component);
} else if (table.getName().equals(EntityPanel.getePartnerTableName())) {
setAppropriateColorEPartner(value, column, component);
}
return component;
}
/**
* Sets the appropriate color bot table name.
*
* @param value
* the value inside of the field
* @param column
* the column
* @param component
* the to be rendered component
*/
private void setAppropriateColorBotTableName(Object value, int column, Component component) {
if (column == 2 && !AgentFileChecker.fileNameExists(value.toString())) {
component.setForeground(Color.RED);
} else {
component.setForeground(Color.BLACK);
}
}
/**
* Sets the appropriate color e partner.
*
* @param value
* the value inside of the field
* @param column
* the column
* @param component
* the to be rendered component
*/
private void setAppropriateColorEPartner(Object value, int column, Component component) {
if (column == 1 && !AgentFileChecker.fileNameExists(value.toString())) {
component.setForeground(Color.RED);
} else {
component.setForeground(Color.BLACK);
}
}
}