JComponent (final boolean toolWindow) { JPanel panel = new JPanel(); panel.setLayout(new GridBagLayout()); GridBagConstraints gc = new GridBagConstraints(); gc.gridx = 0; gc.gridwidth = 1; gc.gridy = 0; gc.gridheight = 1; gc.gridx = 0; gc.gridwidth = 2; gc.gridy += 1; gc.gridheight = 1; gc.weightx = 1; gc.weighty = 1; gc.fill = GridBagConstraints.BOTH; gc.anchor = GridBagConstraints.WEST; panel.add(getRepositoryBrowser(), gc); gc.gridy += 1; gc.weighty = 0; gc.fill = GridBagConstraints.HORIZONTAL; panel.add(new JLabel(), gc); Collection<String> urls = SvnApplicationSettings.getInstance().getCheckoutURLs(); ArrayList<Url> svnURLs = new ArrayList<>(); for (final String url : urls) { try { svnURLs.add(createUrl(url)); } catch (SvnBindException ignored) { } } getRepositoryBrowser().setRepositoryURLs(svnURLs.toArray(new Url[0]), myShowFiles); getRepositoryBrowser().getRepositoryTree().addMouseListener(new PopupHandler() { @Override public void invokePopup(Component comp, int x, int y) { JTree tree = getRepositoryBrowser().getRepositoryTree(); int row = tree.getRowForLocation(x, y); if (row >= 0) { tree.setSelectionRow(row); } JPopupMenu popupMenu = createPopup(toolWindow); if (popupMenu != null) { popupMenu.show(comp, x, y); } } }); getRepositoryBrowser().getStatusText() .clear() .appendText(message("repository.browser.no.locations.added.info")) .appendSecondaryText(message("repository.browser.add.location.action.description"), SimpleTextAttributes.LINK_PLAIN_ATTRIBUTES, e -> addLocation(getRepositoryBrowser())); return panel; }