public Component getTableCellRendererComponent( final JTable table,
final Object value,
final boolean isSelected,
final boolean hasFocus,
final int row,
final int column ) {
if ( value == null ) {
return tableCellRenderer.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column );
}
String sValue = String.valueOf( value );
if ( StringUtils.isEmpty( sValue ) ) {
return tableCellRenderer.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column );
} else if ( sValue.startsWith( "=" ) ) {
sValue = sValue.substring( 1 );
}
final Component retval = tableCellRenderer.getTableCellRendererComponent
( table, FormulaUtil.createCellUITextFromFormula( sValue ), isSelected, hasFocus, row, column );
if ( FormulaUtil.isValidFormulaFragment( sValue ) == false ) {
retval.setBackground( Color.RED );
} else if ( retval.getBackground() == Color.RED ) {
retval.setBackground( table.getBackground() );
}
return retval;
}