Component (JList list, Object value, int index, boolean isSelected, boolean hasFocus) { Component cmp; Color bg = isSelected ? UIUtil.getListBackground(isSelected, true) : list.getBackground(); if (isMoreItem(index)) { runAnythingMore.setBackground(bg); cmp = runAnythingMore; } else { if (value instanceof RunAnythingItem) { cmp = ((RunAnythingItem)value).createComponent(myLastInputText, isSelected, hasFocus); if (cmp.getBackground() == null || cmp.getBackground() == UIUtil.getListBackground()) { cmp.setBackground(bg); } } else { cmp = super.getListCellRendererComponent(list, value, index, isSelected, isSelected); final JPanel p = new JPanel(new BorderLayout()); p.setBackground(bg); p.add(cmp, BorderLayout.CENTER); cmp = p; } } Color foreground = cmp.getForeground(); if (foreground == null) { cmp.setForeground(UIUtil.getListForeground(isSelected)); foreground = cmp.getBackground(); } RunAnythingSearchListModel model = getSearchingModel(myResultsList); SelectablePanel wrapped = SelectablePanel.wrap(cmp, list.getBackground()); wrapped.setSelectionColor(bg); wrapped.setForeground(foreground); if (ExperimentalUI.isNewUI()) { PopupUtil.configListRendererFixedHeight(wrapped); } else { wrapped.setBorder(RENDERER_BORDER); } if (model != null) { String title = model.getTitle(index); if (title != null) { return groupTitleRenderer.withDisplayedData(title, wrapped); } } return wrapped; }