Component (JList<? extends RepoPackage> list, RepoPackage repoPackage, int index, boolean isSelected, boolean cellHasFocus) { myNameComponent.clear(); myRepositoryComponent.clear(); String packageName = repoPackage.getName(); SimpleTextAttributes blueText = new SimpleTextAttributes(SimpleTextAttributes.STYLE_PLAIN, PlatformColors.BLUE); Color defaultForeground = isSelected ? list.getSelectionForeground() : list.getForeground(); SimpleTextAttributes defaultText = new SimpleTextAttributes(SimpleTextAttributes.STYLE_PLAIN, defaultForeground); myNameComponent.append(packageName, myInstalledPackages.contains(packageName) ? blueText : defaultText, true); if (myCurrentlyInstalling.contains(packageName)) { myNameComponent.append(LangBundle.message("package.component.installing.suffix"), blueText, false); } String repoUrl = repoPackage.getRepoUrl(); if (StringUtil.isNotEmpty(repoUrl)) { myRepositoryComponent.append(repoUrl, SimpleTextAttributes.GRAYED_SMALL_ATTRIBUTES, false); } if (isSelected) { myPanel.setBackground(list.getSelectionBackground()); } else { myPanel.setBackground(index % 2 == 1 ? UIUtil.getListBackground() : UIUtil.getDecoratedRowColor()); } return myPanel; }