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 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 tablePanel = null; public VciIconRenderer(VCIJTablePanel 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 getTablePanel() { return tablePanel; } public void setTablePanel(VCIJTablePanel tablePanel) { this.tablePanel = tablePanel; } }