JComponent () { JBLabel descriptionLabel = new JBLabel(makeDescription(myInitialRepository)); JComboBox<GitRepository> repositorySelector = new JComboBox<>(myRepositories.toArray(new GitRepository[0])); repositorySelector.setRenderer(new RepositoryComboboxListCellRenderer()); repositorySelector.setSelectedItem(myInitialRepository); repositorySelector.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { GitRepository selectedRepo = (GitRepository)repositorySelector.getSelectedItem(); descriptionLabel.setText(makeDescription(selectedRepo)); myCommitListWithDiffPanel.setCommits(myCommits.get(selectedRepo)); } }); JPanel repoSelectorPanel = new JPanel(new BorderLayout()); JBLabel label = new JBLabel(GitBundle.message("branch.not.fully.merged.dialog.repository.label") + " "); label.setLabelFor(repoSelectorPanel); repoSelectorPanel.add(label, BorderLayout.WEST); repoSelectorPanel.add(repositorySelector); if (myRepositories.size() < 2) { repoSelectorPanel.setVisible(false); } JPanel northPanel = new JPanel(new BorderLayout()); northPanel.add(descriptionLabel); northPanel.add(repoSelectorPanel, BorderLayout.SOUTH); return northPanel; }