package org.limewire.ui.swing.transfer; import java.awt.Component; import javax.swing.Icon; import javax.swing.JTable; import org.limewire.ui.swing.table.DefaultLimeTableCellRenderer; /** * Cell renderer for the title column in the transfer tables. */ public class TransferTitleRenderer extends DefaultLimeTableCellRenderer { protected final TransferRendererResources resources; /** * Constructs an TransferTitleRenderer. */ public TransferTitleRenderer() { this.resources = new TransferRendererResources(); setIconTextGap(6); } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); // Set font and foreground. resources.decorateComponent(this); // Set icon and text; setIcon(getIcon(value)); setText(getText(value)); return this; } /** * Returns the display icon for the specified value. The default icon * is null. Subclasses may override this method to provide a suitable * icon. */ protected Icon getIcon(Object value) { return null; } /** * Returns the display text for the specified value. */ protected String getText(Object value) { return (value != null) ? String.valueOf(value) : ""; } }