public class DatabaseObjectListCellRenderer extends ColoredListCellRenderer {
@Override
protected void customizeCellRenderer(JList list, Object value, int index, boolean selected, boolean hasFocus) {
if (value instanceof DBObject) {
DBObject object = (DBObject) value;
setIcon(object.getIcon());
append(object.getName(), SimpleTextAttributes.REGULAR_ATTRIBUTES);
append(" [" + object.getConnectionHandler().getName() + "]", SimpleTextAttributes.GRAY_ATTRIBUTES);
if (object.getParentObject() != null) {
append(" - " + object.getParentObject().getQualifiedName(), SimpleTextAttributes.GRAY_ATTRIBUTES);
}
} else append(value.toString(), SimpleTextAttributes.REGULAR_ATTRIBUTES);
}