/* (non-Javadoc) * @see javax.swing.JTable#getCellRenderer(int, int) */ public TableCellRenderer getCellRenderer(int row, int column) { PropertySheetTableModel.Item item = getSheetModel().getPropertySheetElement(row); switch (column) { case PropertySheetTableModel.NAME_COLUMN: // name column gets a custom renderer return nameRenderer; case PropertySheetTableModel.VALUE_COLUMN: { if (!item.isProperty()) return nameRenderer; // property value column gets the renderer from the factory Property property = item.getProperty(); TableCellRenderer renderer = getRendererFactory().createTableCellRenderer(property); if (renderer == null) renderer = getCellRenderer(property.getType()); return renderer; } default: // when will this happen, given the above? return super.getCellRenderer(row, column); } }