package com.revolsys.swing.table.renderer;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import org.jdesktop.swingx.renderer.ComponentProvider;
import org.jdesktop.swingx.renderer.DefaultTableRenderer;
import org.jdesktop.swingx.renderer.IconValue;
import org.jdesktop.swingx.renderer.StringValue;
import com.revolsys.datatype.DataTypes;
public class BaseTableCellRenderer extends DefaultTableRenderer {
private static final long serialVersionUID = 1L;
public BaseTableCellRenderer() {
super();
}
public BaseTableCellRenderer(final ComponentProvider<?> componentProvider) {
super(componentProvider);
}
public BaseTableCellRenderer(final StringValue converter) {
super(converter);
}
public BaseTableCellRenderer(final StringValue stringValue, final IconValue iconValue) {
super(stringValue, iconValue);
}
public BaseTableCellRenderer(final StringValue stringValue, final IconValue iconValue,
final int alignment) {
super(stringValue, iconValue, alignment);
}
public BaseTableCellRenderer(final StringValue converter, final int alignment) {
super(converter, alignment);
}
@Override
public Component getTableCellRendererComponent(final JTable table, final Object value,
final boolean isSelected, final boolean hasFocus, final int row, final int columnIndex) {
final String text = DataTypes.toString(value);
final Component component = super.getTableCellRendererComponent(table, text, isSelected,
hasFocus, row, columnIndex);
if (Number.class.isAssignableFrom(table.getModel().getColumnClass(columnIndex))) {
if (component instanceof JLabel) {
final JLabel label = (JLabel)component;
label.setAlignmentX(Component.RIGHT_ALIGNMENT);
label.setHorizontalTextPosition(SwingConstants.RIGHT);
label.setHorizontalAlignment(SwingConstants.RIGHT);
}
}
return component;
}
}