1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| public class MultiClassListCellRenderer extends DefaultListCellRenderer {
private static final long serialVersionUID = -4635807145551371854L;
Map<Class, ListCellRenderer> renderers;
public MultiClassListCellRenderer(Map<Class, ListCellRenderer> renderers) {
this.renderers = renderers;
}
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
if (value != null) {
ListCellRenderer renderer = renderers.get(value.getClass());
if (renderer != null) {
return renderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
}
}
return super.getListCellRendererComponent(
list,
value,
index,
isSelected,
cellHasFocus);
}
} |
Partager