JComponent () { myNotifyCaughtCheckBox = new JCheckBox(JavaDebuggerBundle.message("label.exception.breakpoint.properties.panel.caught.exception")); myNotifyUncaughtCheckBox = new JCheckBox(JavaDebuggerBundle.message("label.exception.breakpoint.properties.panel.uncaught.exception")); DialogUtil.registerMnemonic(myNotifyCaughtCheckBox); DialogUtil.registerMnemonic(myNotifyUncaughtCheckBox); Box notificationsBox = Box.createVerticalBox(); JPanel _panel = new JPanel(new BorderLayout()); _panel.add(myNotifyCaughtCheckBox, BorderLayout.NORTH); notificationsBox.add(_panel); _panel = new JPanel(new BorderLayout()); _panel.add(myNotifyUncaughtCheckBox, BorderLayout.NORTH); notificationsBox.add(_panel); _panel = new JPanel(new BorderLayout()); JPanel _panel0 = new JPanel(new BorderLayout()); _panel0.add(notificationsBox, BorderLayout.CENTER); _panel0.add(Box.createHorizontalStrut(3), BorderLayout.WEST); _panel0.add(Box.createHorizontalStrut(3), BorderLayout.EAST); _panel.add(_panel0, BorderLayout.NORTH); _panel.setBorder(IdeBorderFactory.createTitledBorder( JavaDebuggerBundle.message("label.exception.breakpoint.properties.panel.group.notifications"))); ActionListener listener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (!myNotifyCaughtCheckBox.isSelected() && !myNotifyUncaughtCheckBox.isSelected()) { Object source = e.getSource(); JCheckBox toCheck = null; if (myNotifyCaughtCheckBox.equals(source)) { toCheck = myNotifyUncaughtCheckBox; } else if (myNotifyUncaughtCheckBox.equals(source)) { toCheck = myNotifyCaughtCheckBox; } if (toCheck != null) { toCheck.setSelected(true); } } } }; myNotifyCaughtCheckBox.addActionListener(listener); myNotifyUncaughtCheckBox.addActionListener(listener); return _panel; }