void (@Nullable SettingsEditorFragment<Settings, ?> header) { JPanel panel = new JPanel(new BorderLayout()); panel.setBorder(JBUI.Borders.empty(5, 0)); if (header != null) { panel.add(header.getComponent(), BorderLayout.WEST); } var separator = createHeaderSeparator(); if (separator != null) { panel.add(separator, BorderLayout.CENTER); } String message = OptionsBundle.message(myMain == null ? "settings.editor.modify.options" : "settings.editor.modify"); myLinkLabel = new DropDownLink<>(message, link -> showOptions()); myLinkLabel.setBorder(JBUI.Borders.emptyLeft(5)); JPanel linkPanel = new JPanel(new BorderLayout()); linkPanel.add(myLinkLabel, BorderLayout.CENTER); CustomShortcutSet shortcutSet = KeymapUtil.getShortcutsForMnemonicCode(TextWithMnemonic.parse(message).getMnemonicCode()); if (shortcutSet != null) { List<String> list = ContainerUtil.sorted(ContainerUtil.map(shortcutSet.getShortcuts(), shortcut -> KeymapUtil.getShortcutText(shortcut)), Comparator.comparingInt(String::length)); JLabel shortcutLabel = new JLabel(list.get(0)); shortcutLabel.setEnabled(false); shortcutLabel.setBorder(JBUI.Borders.empty(0, 5)); linkPanel.add(shortcutLabel, BorderLayout.EAST); } panel.add(linkPanel, BorderLayout.EAST); addLine(panel, myMain == null ? TOP_INSET : LARGE_TOP_INSET, 0, 0); }