Component (JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { removeAll(); final boolean hasRightRenderer = UISettings.getInstance().getShowIconInQuickNavigation(); final ModuleRendererFactory factory = ModuleRendererFactory.findInstance(value); final LeftRenderer left = new LeftRenderer(!hasRightRenderer || !factory.rendersLocationString(), MatcherHolder.getAssociatedMatcher(list)); final Component leftCellRendererComponent = left.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); final Color listBg = leftCellRendererComponent.getBackground(); ((JComponent) leftCellRendererComponent).setOpaque(false); add(leftCellRendererComponent, BorderLayout.WEST); setBackground(isSelected ? UIUtil.getListSelectionBackground(true) : listBg); if (hasRightRenderer){ final DefaultListCellRenderer moduleRenderer = factory.getModuleRenderer(); final Component rightCellRendererComponent = moduleRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); ((JComponent)rightCellRendererComponent).setOpaque(false); rightCellRendererComponent.setBackground(listBg); add(rightCellRendererComponent, BorderLayout.EAST); final JPanel spacer = new NonOpaquePanel(); final Dimension size = rightCellRendererComponent.getSize(); spacer.setSize(new Dimension((int)(size.width * 0.015 + leftCellRendererComponent.getSize().width * 0.015), size.height)); spacer.setBackground(isSelected ? UIUtil.getListSelectionBackground(true) : listBg); add(spacer, BorderLayout.CENTER); } return this; }