void (Project project, final XBreakpointManager breakpointManager, @NotNull XBreakpointBase breakpoint) { super.init(project, breakpointManager, breakpoint); mySuspendCheckBox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) { boolean selected = mySuspendCheckBox.isSelected(); if (myBreakpoint.getType().isSuspendThreadSupported()) { changeEnableState(selected); } if (myDelegate != null && !selected) { myDelegate.showMoreOptionsIfNeeded(); } } }); if (!myBreakpoint.getType().isSuspendThreadSupported()) { return; } updateSuspendPolicyFont(); ItemListener suspendPolicyChangeListener = new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { updateMakeDefaultEnableState(); } }; updateMakeDefaultEnableState(); mySuspendAll.addItemListener(suspendPolicyChangeListener); mySuspendThread.addItemListener(suspendPolicyChangeListener); myMakeDefaultButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { SuspendPolicy suspendPolicy = getSelectedSuspendPolicy(); ((XBreakpointManagerImpl)myBreakpointManager).getBreakpointDefaults(myBreakpointType).setSuspendPolicy(suspendPolicy); updateSuspendPolicyFont(); JRadioButton comp = SuspendPolicy.THREAD == suspendPolicy ? mySuspendThread : mySuspendAll; IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(() -> IdeFocusManager.getGlobalInstance().requestFocus(comp, true)); myMakeDefaultButton.setEnabled(false); } }); }