package org.swingml.component;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;
import org.swingml.*;
import org.swingml.model.*;
import org.swingml.model.TableColumnModel;
/**
* @author Crosslogic
*/
public class TableHeaderCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
JTableModel model = (JTableModel) table.getModel();
TableColumnModel columnModel = (TableColumnModel) model.getColumns().get(column);
LabelDecorator.decorateLabel(this, columnModel, table.getFont());
setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
// Set alignment
int alignment = JLabel.LEFT;
if (columnModel.getAlignment().equalsIgnoreCase(Constants.RIGHT)) {
alignment = JLabel.RIGHT;
} else if (columnModel.getAlignment().equalsIgnoreCase(Constants.CENTER)) {
alignment = JLabel.CENTER;
}
setHorizontalAlignment(alignment);
setValue(value);
return this;
}
}