// Carnegie Mellon University
//   Information Networking Institute and
//   School of Computer Science
//
// Master Thesis: A Monitoring Tool for Overlay Network
// By: TungFai Chan and Annie Cheng
//
// File: LabelTableCellRenderer.java
// Path: userInterfaces/
// Description: Cell Renderer for JTable control


package userInterfaces;

import userInterfaces.componentManagers.*;

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;


public class LabelTableCellRenderer extends JLabel implements TableCellRenderer {

    public LabelTableCellRenderer() {
        setOpaque(true);
        setHorizontalAlignment(LEFT);
        setVerticalAlignment(CENTER);
    }

    public Component getTableCellRendererComponent(JTable list, Object value,
                                                  boolean isSelected,
                                                  boolean cellHasFocus,
                                                  int row, int col) {
        if (isSelected) {
            setBackground(list.getSelectionBackground());
            setForeground(list.getSelectionForeground());
        } else {
            setBackground(list.getBackground());
            setForeground(list.getForeground());
        }

        setText(((LightWeightLabel)value).text);
        setForeground(((LightWeightLabel)value).color);
        setFont(list.getFont());
        return this;
    }

}