void (AnActionButton button) { DefaultActionGroup group = new DefaultActionGroup(); group.add(new DumbAwareAction(IdeBundle.messagePointer("action.Anonymous.text.live.template")) { @Override public void actionPerformed(@NotNull AnActionEvent e) { addTemplate(); } }); group.add(new DumbAwareAction(IdeBundle.messagePointer("action.Anonymous.text.template.group")) { @Override public void actionPerformed(@NotNull AnActionEvent e) { String newName = Messages .showInputDialog(myTree, CodeInsightBundle.message("label.enter.the.new.group.name"), CodeInsightBundle.message("dialog.title.create.new.group"), null, "", new TemplateGroupInputValidator(null)); if (newName != null) { TemplateGroup newGroup = new TemplateGroup(newName); setSelectedNode(insertNewGroup(newGroup)); } } }); DataContext context = DataManager.getInstance().getDataContext(button.getContextComponent()); ListPopup popup = JBPopupFactory.getInstance() .createActionGroupPopup(null, group, context, JBPopupFactory.ActionSelectionAid.ALPHA_NUMBERING, true, null); popup.show(button.getPreferredPopupPoint()); }