/**
*
*/
package javax.swing.origamist;
import java.awt.Component;
import java.net.URL;
import java.util.Locale;
import javax.swing.DefaultListCellRenderer;
import javax.swing.ImageIcon;
import javax.swing.JList;
/**
* Renderer to render a locale as a label with flag and the locale's name.
*
* @author Martin Pecka
*/
public class LocaleListCellRenderer extends DefaultListCellRenderer
{
/** */
private static final long serialVersionUID = -189604891084671473L;
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
boolean cellHasFocus)
{
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
Locale l = (Locale) value;
setText(l.getDisplayName(l));
URL flag = getClass().getResource("/resources/images/flags/" + l.getCountry().toLowerCase() + ".png");
if (flag != null)
setIcon(new ImageIcon(flag));
return this;
}
}