Component (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { JComponent delegateRenderer = (JComponent)delegate.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (cellValidator != null) { ValidationInfo result = cellValidator.validate(value, row, column); iconLabel.setIcon(result == null ? null : result.warning ? AllIcons.General.BalloonWarning : AllIcons.General.BalloonError); iconLabel.setBorder(result == null ? null: iconBorder()); putClientProperty(CELL_VALIDATION_PROPERTY, result); } add(delegateRenderer, BorderLayout.CENTER); setToolTipText(delegateRenderer.getToolTipText()); setBorder(delegateRenderer.getBorder()); delegateRenderer.setBorder(null); setBackground(delegateRenderer.getBackground()); return this; }