@Override
		public Component getTableCellRendererComponent( JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column )
		{
			item = (Item) value;
			init( table, item.key, isSelected, row );

			// reset background, foreground and icon
			if( !(item.value instanceof Color) ) {
				setBackground( null );
				setForeground( null );
			}
			if( !(item.value instanceof Icon) )
				setIcon( null );

			// value to string
			value = item.getValueAsString();

			super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column );

			if( item.value instanceof Color ) {
				Color color = (item.info instanceof Color[]) ? ((Color[])item.info)[0] : (Color) item.value;
				boolean isDark = new HSLColor( color ).getLuminance() < 70 && color.getAlpha() >= 128;
				valueColor = color;
				setForeground( isDark ? Color.white : Color.black );
			} else if( item.value instanceof Icon ) {
				Icon icon = (Icon) item.value;
				setIcon( new SafeIcon( icon ) );
			}

			// set tooltip
			String toolTipText = (item.value instanceof Object[])
				? Arrays.toString( (Object[]) item.value ).replace( ", ", ",\n" )
				: String.valueOf( item.value );
			if( item.lafValue != null ) {
				toolTipText += "    \n\nLaF UI default value was overridden with UIManager.put(key,value):\n    "
					+ Item.valueAsString( item.lafValue, null ) + "\n    " + String.valueOf( item.lafValue );
			}
			setToolTipText( toolTipText );

			return this;
		}
Creates a UI defaults inspector panel that can be embedded into any window.
flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatUIDefaultsInspector.java