void (JLabel label, @Nullable JComponent target, char mn) { String text = label.getText(); if (text != null) { @Nls StringBuilder realText = new StringBuilder(text.length()); char mnemonic = '\0'; int index = -1; for (int i = 0; i < text.length(); i++) { char ch = text.charAt(i); if (ch != mn || i + 1 == text.length() || text.charAt(i + 1) == ' ') { realText.append(ch); } else { mnemonic = text.charAt(i + 1); index = realText.length(); } } if (mnemonic != '\0') { label.setText(realText.toString()); if (UISettings.getShadowInstance().getDisableMnemonicsInControls()) { label.setDisplayedMnemonic(0); label.setDisplayedMnemonicIndex(-1); } else { label.setDisplayedMnemonic(mnemonic); label.setDisplayedMnemonicIndex(index); } if (target != null) { label.setLabelFor(target); } } } }