/* * @(#)BasicCellRenderer.java * * Copyright 2002 EGANTT LLP. All rights reserved. * PROPRIETARY/QPL. Use is subject to license terms. */ package com.egantt.swing.cell.renderer.basic; import com.egantt.swing.component.ComponentContext; import com.egantt.swing.component.ComponentResources; import com.egantt.swing.cell.CellRenderer; import com.egantt.swing.cell.CellState; import ext.egantt.util.reflect.ReflectionHelper; import java.util.Iterator; import javax.swing.JComponent; public class BasicCellRenderer extends AbstractCellRenderer implements CellRenderer { private static final long serialVersionUID = 3983528468928681094L; protected final ComponentContext context; public BasicCellRenderer(ComponentContext context) { this.context = context; } // _________________________________________________________________________ public JComponent getComponent(CellState state, JComponent parent) { JComponent component = super.getComponent(state, parent); for (Iterator iter = ReflectionHelper.fields(ComponentResources.class); iter.hasNext();) { String field = (String) iter.next(); Object fieldValue = context.get(field); if (fieldValue != null) ReflectionHelper.set(component, field, fieldValue); } return component; } }