TableCellRenderer (TableItem item) { if (myRenderer == null) { final TableCellRenderer original = doCreateRenderer(item); myRenderer = new TableCellRenderer() { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component component = original.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (!table.isCellEditable(row, table.convertColumnIndexToModel(column))) { Color bg = table.getBackground().darker(); component.setBackground(ColorUtil.toAlpha(bg, 230)); } if (component instanceof SimpleColoredComponent) { ((SimpleColoredComponent)component).setIpad(new Insets(0, 0, 0, 0)); } return component; } }; } return myRenderer; }