public Component getTableCellRendererComponent(
			JTable table, Object value, boolean isSelected, boolean hasFocus,
			int row, int column) {
		super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

		int realColumn = table.getColumnModel().getColumn(column).getModelIndex();
		setIcon(null);
		setBorder(regBorder);
		if (table.getModel() instanceof RowTableModel) {
			if (realColumn == ((RowTableModel)table.getModel()).getSortColumn()) {
				setBorder(sortBorder);
				if (boldFont == null) {
					boldFont = getFont().deriveFont(Font.BOLD);
				}
				setFont(boldFont);
				if (((RowTableModel)table.getModel()).isSortAscending()) {
					setIcon(sortAsc);
				} else {
					setIcon(sortDesc);
				}
			} else if (((RowTableModel)table.getModel()).isColumnEmpty(realColumn)) {
				setText((value == null || value.toString().length() == 0) ? "  " : "[" + value.toString() + "]");
				if (emptyFont == null) {
					emptyFont = getFont().deriveFont(Font.ITALIC);
				}
				setFont(emptyFont);
			}
		}
		
		if (bkgColor != null) {
			this.setBackground(bkgColor);
		}
		
		return this;
	}