@Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        if (value == null)
            value = "";
        else if (formats != null) {
        	if (Pattern.matches(Utils.fpRegex, value.toString())) {
            	int frow = row;
	        	if (frow >= formats.length)
	        		frow = formats.length - 1;
            	int fcol = column;
	        	if (fcol >= formats[frow].length)
	        		fcol = formats[frow].length - 1;
	        	value = formats[frow][fcol].format(Double.valueOf(value.toString()));
        	}
        }
        else if (Pattern.matches(Utils.fpRegex, value.toString()))
            value = formatter.format(Double.valueOf(value.toString()));
        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column );
    }