MasterDetailPopupBuilder (@NotNull JBList list) { myChooserComponent = list; myDetailController.setList(list); list.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_DELETE) { removeSelectedItems(); } else if (e.getModifiersEx() == 0 && !mySpeedSearch.isHoldingFilter()) { myDelegate.handleMnemonic(e, myProject, myPopup); } } }); new AnAction() { @Override public void actionPerformed(@NotNull AnActionEvent e) { chooseItems(true); } }.registerCustomShortcutSet(CommonShortcuts.ENTER, list); new AnAction() { @Override public void actionPerformed(@NotNull AnActionEvent e) { chooseItems(true); } }.registerCustomShortcutSet(CommonShortcuts.DOUBLE_CLICK_1, list); list.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent event) { myDetailController.updateDetailView(); } }); return this; }