List of usage examples for com.intellij.openapi.ui DialogWrapper close
public final void close(int exitCode)
From source file:com.intellij.debugger.actions.ForceEarlyReturnAction.java
License:Apache License
private static void forceEarlyReturn(final Value value, final ThreadReferenceProxyImpl thread, final DebugProcessImpl debugProcess, @Nullable final DialogWrapper dialog) { debugProcess.getManagerThread().schedule(new DebuggerCommandImpl() { @Override//from w w w . j a v a 2s .co m protected void action() throws Exception { try { thread.forceEarlyReturn(value); } catch (Exception e) { showError(debugProcess.getProject(), DebuggerBundle.message("error.early.return", e.getLocalizedMessage())); return; } //noinspection SSBasedInspection SwingUtilities.invokeLater(() -> { if (dialog != null) { dialog.close(DialogWrapper.OK_EXIT_CODE); } debugProcess.getSession().stepInto(true, null); }); } }); }
From source file:com.intellij.plugins.haxe.ide.refactoring.extractSuperclass.ExtractSuperClassUtil.java
License:Apache License
public static boolean showConflicts(DialogWrapper dialog, MultiMap<PsiElement, String> conflicts, final Project project) { if (!conflicts.isEmpty()) { fireConflictsEvent(conflicts, project); ConflictsDialog conflictsDialog = new ConflictsDialog(project, conflicts); conflictsDialog.show();//from www.j av a2 s .c o m final boolean ok = conflictsDialog.isOK(); if (!ok && conflictsDialog.isShowConflicts()) dialog.close(DialogWrapper.CANCEL_EXIT_CODE); return ok; } return true; }
From source file:com.intellij.refactoring.extractSuperclass.ExtractSuperClassMultiUtil.java
License:Apache License
public static boolean showConflicts(DialogWrapper dialog, MultiMap<PsiElement, String> conflicts, final Project project) { if (!conflicts.isEmpty()) { ConflictsDialog conflictsDialog = new ConflictsDialog(project, conflicts); conflictsDialog.show();/* w w w. j a v a 2 s. c om*/ final boolean ok = conflictsDialog.isOK(); if (!ok && conflictsDialog.isShowConflicts()) dialog.close(DialogWrapper.CANCEL_EXIT_CODE); return ok; } return true; }
From source file:com.mbeddr.pluginmanager.com.intellij.ide.plugins.PluginHeaderPanel.java
License:Apache License
private void createUIComponents() { myInstallButton = new JButton() { {/*from ww w . ja v a2 s . com*/ setOpaque(false); setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } @Override public Dimension getPreferredSize() { final FontMetrics metrics = getFontMetrics(getFont()); final int textWidth = metrics.stringWidth(getText()); final int width = 8 + 16 + 4 + textWidth + 8; final int height = 2 + Math.max(16, metrics.getHeight()) + 2; return new Dimension(width, height); } @Override public void paint(Graphics g2) { final Graphics2D g = (Graphics2D) g2; final GraphicsConfig config = GraphicsUtil.setupAAPainting(g); final int w = g.getClipBounds().width; final int h = g.getClipBounds().height; g.setPaint(getBackgroundBorderPaint()); g.fillRoundRect(0, 0, w, h, 7, 7); g.setPaint(getBackgroundPaint()); g.fillRoundRect(1, 1, w - 2, h - 2, 6, 6); g.setColor(getButtonForeground()); int offset = 8; g.drawString(getText(), offset + 16 + 4, getBaseline(w, h)); getIcon().paintIcon(this, g, offset, (getHeight() - getIcon().getIconHeight()) / 2); config.restore(); } private Color getButtonForeground() { switch (myActionId) { case UPDATE: return new JBColor(Gray._240, Gray._210); case INSTALL: return new JBColor(Gray._240, Gray._210); case RESTART: case UNINSTALL: return new JBColor(Gray._0, Gray._210); } return new JBColor(Gray._80, Gray._60); } private Paint getBackgroundPaint() { switch (myActionId) { case UPDATE: return new JBGradientPaint(this, new JBColor(new Color(98, 158, 225), new Color(98, 158, 225)), new JBColor(new Color(58, 91, 181), new Color(58, 91, 181))); case INSTALL: return new JBGradientPaint(this, new JBColor(new Color(96, 204, 105), new Color(81, 149, 87)), new JBColor(new Color(50, 101, 41), new Color(40, 70, 47))); case RESTART: case UNINSTALL: return UIUtil.isUnderDarcula() ? new JBGradientPaint(this, UIManager.getColor("Button.darcula.color1"), UIManager.getColor("Button.darcula.color2")) : Gray._240; } return Gray._238; } private Paint getBackgroundBorderPaint() { switch (myActionId) { case UPDATE: return new JBColor(new Color(166, 180, 205), Gray._85); case INSTALL: return new JBColor(new Color(201, 223, 201), Gray._70); case RESTART: case UNINSTALL: return new JBColor(Gray._220, Gray._100.withAlpha(180)); } return Gray._208; } @Override public String getText() { switch (myActionId) { case UPDATE: return "Update"; case INSTALL: return "Install"; case UNINSTALL: return "Uninstall"; case RESTART: return "Restart " + ApplicationNamesInfo.getInstance().getFullProductName(); } return super.getText(); } @Override public Icon getIcon() { switch (myActionId) { case UPDATE: return AllIcons.General.DownloadPlugin; case INSTALL: return AllIcons.General.DownloadPlugin; case UNINSTALL: return AllIcons.Actions.Delete; case RESTART: return AllIcons.Actions.Restart; } return super.getIcon(); } }; myInstallButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { switch (myActionId) { case UPDATE: case INSTALL: new InstallPluginAction(myManager.getAvailable(), myManager.getInstalled()) .install(new Runnable() { @Override public void run() { setPlugin(myPlugin); } }, true); break; case UNINSTALL: UninstallPluginAction.uninstall(myManager.getInstalled(), true, myPlugin); break; case RESTART: if (myManager != null) { myManager.apply(); } final DialogWrapper dialog = DialogWrapper .findInstance(KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()); if (dialog != null && dialog.isModal()) { dialog.close(DialogWrapper.OK_EXIT_CODE); } //noinspection SSBasedInspection SwingUtilities.invokeLater(new Runnable() { @Override public void run() { final DialogWrapper settings = DialogWrapper .findInstance(IdeFocusManager.findInstance().getFocusOwner()); if (settings instanceof SettingsDialog) { ((SettingsDialog) settings).doOKAction(); ApplicationManager.getApplication().restart(); } else { ApplicationManager.getApplication().restart(); } } }); break; } setPlugin(myPlugin); } }); }
From source file:org.cordovastudio.editors.designer.propertyTable.properties.IdProperty.java
License:Apache License
@Override public void setValue(@NotNull final RadViewComponent component, final Object value) throws Exception { final String newId = value != null ? value.toString() : ""; IdManager idManager = IdManager.get(component); final String oldId = component.getId(); if (ourRefactoringChoice != REFACTOR_NO && oldId != null && !oldId.isEmpty() && !newId.isEmpty() && !oldId.equals(newId) && component.getTag().isValid()) { // Offer rename refactoring? XmlTag tag = component.getTag(); XmlAttribute attribute = tag.getAttribute(ATTR_ID, CORDOVASTUDIO_URI); if (attribute != null) { Module module = RadModelBuilder.getModule(component); if (module != null) { XmlAttributeValue valueElement = attribute.getValueElement(); if (valueElement != null && valueElement.isValid()) { final Project project = module.getProject(); // Exact replace only, no comment/text occurrence changes since it is non-interactive RenameProcessor processor = new RenameProcessor(project, valueElement, newId, false /*comments*/, false /*text*/); processor.setPreviewUsages(false); // Do a quick usage search to see if we need to ask about renaming UsageInfo[] usages = processor.findUsages(); if (usages.length > 0) { int choice = ourRefactoringChoice; if (choice == REFACTOR_ASK) { DialogBuilder builder = new DialogBuilder(project); builder.setTitle("Update Usages?"); JPanel panel = new JPanel(new BorderLayout()); // UGH! JLabel label = new JLabel("<html>" + "Update usages as well?<br>" + "This will update all XML references and Java R field references.<br>" + "<br>" + "</html>"); panel.add(label, BorderLayout.CENTER); JBCheckBox checkBox = new JBCheckBox("Don't ask again during this session"); panel.add(checkBox, BorderLayout.SOUTH); builder.setCenterPanel(panel); builder.setDimensionServiceKey("idPropertyDimension"); builder.removeAllActions(); DialogBuilder.CustomizableAction yesAction = builder.addOkAction(); yesAction.setText(Messages.YES_BUTTON); builder.addActionDescriptor(new DialogBuilder.ActionDescriptor() { @Override public Action getAction(final DialogWrapper dialogWrapper) { return new AbstractAction(Messages.NO_BUTTON) { @Override public void actionPerformed(ActionEvent actionEvent) { dialogWrapper.close(DialogWrapper.NEXT_USER_EXIT_CODE); } };/* w w w . j a va 2 s . c om*/ } }); builder.addCancelAction(); int exitCode = builder.show(); choice = exitCode == DialogWrapper.OK_EXIT_CODE ? REFACTOR_YES : exitCode == DialogWrapper.NEXT_USER_EXIT_CODE ? REFACTOR_NO : ourRefactoringChoice; if (!checkBox.isSelected()) { ourRefactoringChoice = REFACTOR_ASK; } else { ourRefactoringChoice = choice; } if (exitCode == DialogWrapper.CANCEL_EXIT_CODE) { return; } } if (choice == REFACTOR_YES) { processor.run(); // Fall through to also set the value in the layout editor property; otherwise we'll be out of sync } } } } } } if (idManager != null) { idManager.removeComponent(component, false); } //noinspection ConstantConditions super.setValue(component, value); if (idManager != null) { idManager.addComponent(component); } }
From source file:org.exbin.deltahex.intellij.DeltaHexFileEditor.java
License:Apache License
private JPopupMenu createContextMenu() { final JPopupMenu result = new JPopupMenu(); final JMenuItem cutMenuItem = new JMenuItem("Cut"); cutMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, metaMask)); cutMenuItem.setEnabled(codeArea.hasSelection() && codeArea.isEditable()); cutMenuItem.addActionListener(new ActionListener() { @Override/*from w ww. java2 s . co m*/ public void actionPerformed(ActionEvent e) { codeArea.cut(); result.setVisible(false); } }); result.add(cutMenuItem); final JMenuItem copyMenuItem = new JMenuItem("Copy"); copyMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, metaMask)); copyMenuItem.setEnabled(codeArea.hasSelection()); copyMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { codeArea.copy(); result.setVisible(false); } }); result.add(copyMenuItem); final JMenuItem copyAsCodeMenuItem = new JMenuItem("Copy as Code"); copyAsCodeMenuItem.setEnabled(codeArea.hasSelection()); copyAsCodeMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { codeArea.copyAsCode(); result.setVisible(false); } }); result.add(copyAsCodeMenuItem); final JMenuItem pasteMenuItem = new JMenuItem("Paste"); pasteMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, metaMask)); pasteMenuItem.setEnabled(codeArea.canPaste() && codeArea.isEditable()); pasteMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { codeArea.paste(); result.setVisible(false); } }); result.add(pasteMenuItem); final JMenuItem pasteFromCodeMenuItem = new JMenuItem("Paste from Code"); pasteFromCodeMenuItem.setEnabled(codeArea.canPaste() && codeArea.isEditable()); pasteFromCodeMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { codeArea.pasteFromCode(); } catch (IllegalArgumentException ex) { JOptionPane.showMessageDialog(editorPanel, ex.getMessage(), "Unable to Paste Code", JOptionPane.ERROR_MESSAGE); } result.setVisible(false); } }); result.add(pasteFromCodeMenuItem); final JMenuItem deleteMenuItem = new JMenuItem("Delete"); deleteMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0)); deleteMenuItem.setEnabled(codeArea.hasSelection() && codeArea.isEditable()); deleteMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { codeArea.delete(); result.setVisible(false); } }); result.add(deleteMenuItem); result.addSeparator(); final JMenuItem selectAllMenuItem = new JMenuItem("Select All"); selectAllMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, metaMask)); selectAllMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { codeArea.selectAll(); result.setVisible(false); } }); result.add(selectAllMenuItem); result.addSeparator(); final JMenuItem goToMenuItem = new JMenuItem("Go To..."); goToMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G, metaMask)); goToMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { goToHandler.getGoToLineAction().actionPerformed(null); } }); result.add(goToMenuItem); final JMenuItem findMenuItem = new JMenuItem("Find..."); findMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, metaMask)); findMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { showSearchPanel(false); } }); result.add(findMenuItem); final JMenuItem replaceMenuItem = new JMenuItem("Replace..."); replaceMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H, metaMask)); replaceMenuItem.setEnabled(codeArea.isEditable()); replaceMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { showSearchPanel(true); } }); result.add(replaceMenuItem); result.addSeparator(); final JMenuItem optionsMenuItem = new JMenuItem("Options..."); optionsMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final DeltaHexOptionsPanelBorder optionsPanel = new DeltaHexOptionsPanelBorder(); optionsPanel.setFromCodeArea(codeArea); optionsPanel.setShowValuesPanel(valuesPanelVisible); optionsPanel.setPreferredSize(new Dimension(640, 480)); OptionsControlPanel optionsControlPanel = new OptionsControlPanel(); JPanel dialogPanel = WindowUtils.createDialogPanel(optionsPanel, optionsControlPanel); final DialogWrapper dialog = DialogUtils.createDialog(dialogPanel, "Options"); WindowUtils.assignGlobalKeyListener(dialogPanel, optionsControlPanel.createOkCancelListener()); optionsControlPanel.setHandler(new OptionsControlHandler() { @Override public void controlActionPerformed(OptionsControlHandler.ControlActionType actionType) { if (actionType == OptionsControlHandler.ControlActionType.SAVE) { optionsPanel.store(); } if (actionType != OptionsControlHandler.ControlActionType.CANCEL) { optionsPanel.applyToCodeArea(codeArea); boolean applyShowValuesPanel = optionsPanel.isShowValuesPanel(); if (applyShowValuesPanel) { showValuesPanel(); } else { hideValuesPanel(); } applyFromCodeArea(); switchDeltaMemoryMode(optionsPanel.isDeltaMemoryMode()); codeArea.repaint(); } dialog.close(0); } }); dialog.setSize(650, 460); dialog.showAndGet(); } }); result.add(optionsMenuItem); return result; }
From source file:org.exbin.deltahex.intellij.EncodingsHandler.java
License:Apache License
private void init() { encodings = new ArrayList<>(); encodingButtonGroup = new ButtonGroup(); encodingActionListener = new ActionListener() { @Override/* w w w . j av a2 s. c o m*/ public void actionPerformed(ActionEvent e) { setSelectedEncoding(((JRadioButtonMenuItem) e.getSource()).getText()); } }; utfEncodingRadioButtonMenuItem = new JRadioButtonMenuItem(); utfEncodingRadioButtonMenuItem.setSelected(true); utfEncodingRadioButtonMenuItem.setText(UTF_ENCODING_TEXT); utfEncodingRadioButtonMenuItem.setToolTipText(UTF_ENCODING_TOOLTIP); utfEncodingActionListener = new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { setSelectedEncoding(ENCODING_UTF8); } }; utfEncodingRadioButtonMenuItem.addActionListener(utfEncodingActionListener); encodingButtonGroup.add(utfEncodingRadioButtonMenuItem); manageEncodingsAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { final TextEncodingPanel textEncodingPanel = new TextEncodingPanel(); textEncodingPanel.setHandler(EncodingsHandler.this); textEncodingPanel.setEncodingList(encodings); final OptionsControlPanel controlPanel = new OptionsControlPanel(); JPanel dialogPanel = WindowUtils.createDialogPanel(textEncodingPanel, controlPanel); DialogWrapper dialog = DialogUtils.createDialog(dialogPanel, "Manage Encodings"); controlPanel.setHandler(new OptionsControlHandler() { @Override public void controlActionPerformed(OptionsControlHandler.ControlActionType actionType) { if (actionType != OptionsControlHandler.ControlActionType.CANCEL) { encodings = textEncodingPanel.getEncodingList(); rebuildEncodings(); if (actionType == OptionsControlHandler.ControlActionType.SAVE) { // Save encodings for (int i = 0; i < encodings.size(); i++) { preferences.setValue( DeltaHexFileEditor.PREFERENCES_ENCODING_PREFIX + Integer.toString(i), encodings.get(i)); } preferences.unsetValue(DeltaHexFileEditor.PREFERENCES_ENCODING_PREFIX + Integer.toString(encodings.size())); } } dialog.close(0); } }); textEncodingPanel.setAddEncodingsOperation(new TextEncodingPanel.AddEncodingsOperation() { @Override public List<String> run(List<String> usedEncodings) { final List<String> result = new ArrayList<>(); final AddEncodingPanel addEncodingPanel = new AddEncodingPanel(); addEncodingPanel.setUsedEncodings(usedEncodings); DefaultControlPanel controlPanel = new DefaultControlPanel( addEncodingPanel.getResourceBundle()); JPanel dialogPanel = WindowUtils.createDialogPanel(addEncodingPanel, controlPanel); final DialogWrapper addEncodingDialog = DialogUtils.createDialog(dialogPanel, "Add Encodings"); controlPanel.setHandler(new DefaultControlHandler() { @Override public void controlActionPerformed(DefaultControlHandler.ControlActionType actionType) { if (actionType == DefaultControlHandler.ControlActionType.OK) { result.addAll(addEncodingPanel.getEncodings()); } addEncodingDialog.close(0); } }); WindowUtils.assignGlobalKeyListener(addEncodingDialog.getWindow(), controlPanel.createOkCancelListener()); addEncodingDialog.showAndGet(); return result; } }); WindowUtils.assignGlobalKeyListener(dialog.getWindow(), controlPanel.createOkCancelListener()); dialog.showAndGet(); } }; ActionUtils.setupAction(manageEncodingsAction, resourceBundle, "manageEncodingsAction"); manageEncodingsAction.putValue(ActionUtils.ACTION_DIALOG_MODE, true); manageEncodingsAction.putValue(Action.NAME, manageEncodingsAction.getValue(Action.NAME) + ActionUtils.DIALOG_MENUITEM_EXT); toolsEncodingMenu = new JMenu(); toolsEncodingMenu.add(utfEncodingRadioButtonMenuItem); toolsEncodingMenu.addSeparator(); toolsEncodingMenu.add(manageEncodingsAction); toolsEncodingMenu.setText(resourceBundle.getString("toolsEncodingMenu.text")); toolsEncodingMenu.setToolTipText(resourceBundle.getString("toolsEncodingMenu.shortDescription")); }
From source file:org.exbin.deltahex.intellij.GoToHandler.java
License:Apache License
public Action getGoToLineAction() { if (goToLineAction == null) { goToLineAction = new AbstractAction() { @Override//from w ww . j av a2 s. co m public void actionPerformed(ActionEvent e) { final GoToHexPanel goToPanel = new GoToHexPanel(); DefaultControlPanel goToControlPanel = new DefaultControlPanel(goToPanel.getResourceBundle()); goToPanel.setCursorPosition(codeArea.getCaretPosition().getDataPosition()); goToPanel.setMaxPosition(codeArea.getDataSize()); JPanel dialogPanel = WindowUtils.createDialogPanel(goToPanel, goToControlPanel); WindowUtils.assignGlobalKeyListener(dialogPanel, goToControlPanel.createOkCancelListener()); final DialogWrapper dialog = DialogUtils.createDialog(dialogPanel, "Go To Position", goToPanel.getInitFocusComponent()); goToControlPanel.setHandler(new DefaultControlHandler() { @Override public void controlActionPerformed(DefaultControlHandler.ControlActionType actionType) { if (actionType == DefaultControlHandler.ControlActionType.OK) { goToPanel.acceptInput(); codeArea.setCaretPosition(goToPanel.getGoToPosition()); } dialog.close(0); } }); dialog.showAndGet(); } }; } return goToLineAction; }
From source file:org.exbin.deltahex.intellij.panel.DeltaHexOptionsPanel.java
License:Open Source License
private void selectFontButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_selectFontButtonActionPerformed final TextFontPanel textFontPanel = new TextFontPanel(); DefaultControlPanel textFontControlPanel = new DefaultControlPanel(); textFontPanel.setStoredFont(deltaHexFont); textFontPanel.setVisible(true);/*w ww. ja va2s. co m*/ JPanel dialogPanel = WindowUtils.createDialogPanel(textFontPanel, textFontControlPanel); WindowUtils.assignGlobalKeyListener(dialogPanel, textFontControlPanel.createOkCancelListener()); final DialogWrapper dialog = DialogUtils.createDialog(dialogPanel, "Select Font"); textFontControlPanel.setHandler(new DefaultControlHandler() { @Override public void controlActionPerformed(DefaultControlHandler.ControlActionType actionType) { if (actionType == DefaultControlHandler.ControlActionType.OK) { deltaHexFont = textFontPanel.getStoredFont(); updateFontTextField(); useDefaultFontCheckBox.setSelected(false); } dialog.close(0); } }); dialog.showAndGet(); }
From source file:org.exbin.deltahex.intellij.panel.HexSearchPanel.java
License:Apache License
private void optionsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_optionsButtonActionPerformed cancelSearch();// w w w.j av a 2s . c om final FindHexPanel findHexPanel = new FindHexPanel(); findHexPanel.setSelected(); findHexPanel.setSearchHistory(searchHistory); findHexPanel.setSearchParameters(searchParameters); replaceParameters.setPerformReplace(replaceMode); findHexPanel.setReplaceParameters(replaceParameters); findHexPanel.setHexCodePopupMenuHandler(hexCodePopupMenuHandler); DefaultControlPanel controlPanel = new DefaultControlPanel(findHexPanel.getResourceBundle()); JPanel dialogPanel = WindowUtils.createDialogPanel(findHexPanel, controlPanel); final DialogWrapper dialog = DialogUtils.createDialog(dialogPanel, "Find Text"); findHexPanel.setMultilineEditorListener(new FindHexPanel.MultilineEditorListener() { @Override public SearchCondition multilineEdit(SearchCondition condition) { final HexMultilinePanel multilinePanel = new HexMultilinePanel(); multilinePanel.setHexCodePopupMenuHandler(hexCodePopupMenuHandler); multilinePanel.setCondition(condition); DefaultControlPanel controlPanel = new DefaultControlPanel(); JPanel dialogPanel = WindowUtils.createDialogPanel(multilinePanel, controlPanel); final DialogWrapper multilineDialog = DialogUtils.createDialog(dialogPanel, "Multiline Hex/Text"); final SearchConditionResult result = new SearchConditionResult(); controlPanel.setHandler(new DefaultControlHandler() { @Override public void controlActionPerformed(DefaultControlHandler.ControlActionType actionType) { if (actionType == DefaultControlHandler.ControlActionType.OK) { result.searchCondition = multilinePanel.getCondition(); updateFindStatus(); } multilineDialog.close(0); } }); WindowUtils.assignGlobalKeyListener(multilineDialog.getWindow(), controlPanel.createOkCancelListener()); // multilineDialog.setLocationRelativeTo(dialog); multilineDialog.showAndGet(); multilinePanel.detachMenu(); return result.searchCondition; } class SearchConditionResult { SearchCondition searchCondition = null; } }); controlPanel.setHandler(new DefaultControlHandler() { @Override public void controlActionPerformed(DefaultControlHandler.ControlActionType actionType) { if (actionType == ControlActionType.OK) { SearchParameters dialogSearchParameters = findHexPanel.getSearchParameters(); ((SearchHistoryModel) findComboBox.getModel()) .addSearchCondition(dialogSearchParameters.getCondition()); dialogSearchParameters.setFromParameters(dialogSearchParameters); findComboBoxEditorComponent.setItem(dialogSearchParameters.getCondition()); updateFindStatus(); ReplaceParameters dialogReplaceParameters = findHexPanel.getReplaceParameters(); switchReplaceMode(dialogReplaceParameters.isPerformReplace()); hexSearchPanelApi.performFind(dialogSearchParameters); } findHexPanel.detachMenu(); dialog.close(0); } }); WindowUtils.assignGlobalKeyListener(dialog.getWindow(), controlPanel.createOkCancelListener()); // dialog.setLocationRelativeTo(frameModule.getFrame()); dialog.showAndGet(); }