/* * (c) 2005-2009 Carlos G�mez Rodr�guez, todos los derechos reservados / all rights reserved. * Licencia en license/bsd.txt / License in license/bsd.txt * * Created at regulus on 23-jul-2005 21:59:26 * as file TwoStringCellRenderer.java on package org.f2o.absurdum.puck.gui.panels */ package org.f2o.absurdum.puck.gui.panels; import java.awt.Color; import java.awt.Component; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.ListCellRenderer; import org.f2o.absurdum.puck.i18n.UIMessages; class TwoStringCellRenderer extends JLabel implements ListCellRenderer { private String labelDesc1; private String labelDesc2; public TwoStringCellRenderer ( String labelDesc1 , String labelDesc2 ) { this.labelDesc1 = labelDesc1; this.labelDesc2 = labelDesc2; } public TwoStringCellRenderer() { ; } // This is the only method defined by ListCellRenderer. // We just reconfigure the JLabel each time we're called. public Component getListCellRendererComponent( JList list, Object value, // value to display int index, // cell index boolean isSelected, // is the cell selected boolean cellHasFocus) // the list and the cell have the focus { String labelText; if ( value instanceof String[] && ((String[])value).length >= 2 ) { String[] vals = ((String[])value); if ( labelDesc1 != null && labelDesc2 != null ) labelText = labelDesc1 + ": " + vals[0] + " # " + labelDesc2 + ": " + vals[1]; else if ( vals[0].length() == 0 ) labelText = UIMessages.getInstance().getMessage("cond.always") + ": " + vals[1]; else labelText = UIMessages.getInstance().getMessage("cond.cond") + " " + vals[0] + ": " + vals[1]; } else labelText = value.toString(); setText(labelText); if ( isSelected ) this.setForeground(Color.RED); else this.setForeground(Color.BLACK); return this; } }