package com.vci.client.ui.swing.components.table;
|
|
import java.awt.Color;
|
import java.awt.Component;
|
|
import javax.swing.Icon;
|
import javax.swing.JTable;
|
|
import com.vci.client.ui.swing.VCISwingUtil;
|
|
public class VciIconRenderer<T> extends javax.swing.table.DefaultTableCellRenderer.UIResource {
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = -4044657358450899337L;
|
protected Color colorSelected = VCISwingUtil.JTABLE_ROW_BACKGROUND_COLOR_CHECKED;
|
|
public void setValue(Object obj)
|
{
|
setIcon((obj instanceof Icon) ? (Icon)obj : null);
|
}
|
|
protected VCIJTablePanel<T> tablePanel = null;
|
public VciIconRenderer(VCIJTablePanel<T> tablePanel)
|
{
|
setHorizontalAlignment(0);
|
this.tablePanel = tablePanel;
|
}
|
|
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
|
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
|
Color color = colorSelected;
|
color = getDefaultBackgroundColor(row);
|
if(getTableCheckBoxManager() != null){
|
if(getTableCheckBoxManager().getSelectedIndexsSet().contains(row)){
|
color = VCISwingUtil.JTABLE_ROW_BACKGROUND_COLOR_CHECKED;
|
}
|
}
|
c.setBackground(color);
|
c.setForeground(Color.black);
|
return c;
|
}
|
|
public Color getDefaultBackgroundColor(int rowIndex){
|
Color color = (rowIndex % 2) == 0 ? VCISwingUtil.JTABLE_ROW_BACKGROUND_COLOR_EVEN : VCISwingUtil.JTABLE_ROW_BACKGROUND_COLOR_ODD;
|
return color;
|
}
|
|
private IVCIJTableBaseCheckManager tableCheckBoxManager = null;
|
public IVCIJTableBaseCheckManager getTableCheckBoxManager() {
|
return tableCheckBoxManager;
|
}
|
|
public void setTableCheckBoxManager(
|
IVCIJTableBaseCheckManager tableCheckBoxManager) {
|
this.tableCheckBoxManager = tableCheckBoxManager;
|
}
|
public VCIJTablePanel<T> getTablePanel() {
|
return tablePanel;
|
}
|
public void setTablePanel(VCIJTablePanel<T> tablePanel) {
|
this.tablePanel = tablePanel;
|
}
|
}
|