private void configureAbstractButton(AbstractButton button, String resource) { String title = resources.getString(resource); int i = title.indexOf('&'); int mnemonic = 0; if (i >= 0) { mnemonic = title.charAt(i + 1); title = title.substring(0, i) + title.substring(i + 1); button.setText(title); button.setMnemonic(Character.toUpperCase(mnemonic)); button.setDisplayedMnemonicIndex(i); } else button.setText(title); }
private JComponent addItem( final Component pComponent, final KToolbarImpl pToolbar, final Action pAction) { JComponent item = null; final String key = (String) pAction.getValue(Action.NAME); if (pAction instanceof KMenu) { final KMenu actionMenu = (KMenu) pAction; item = actionMenu.create(pComponent); pToolbar.add(item); } else if (pAction == KAction.SEPARATOR) { pToolbar.addSeparator(); } else if (pAction instanceof KComponentAction) { item = ((KComponentAction) pAction).getComponent(); pToolbar.add(item); } else { AbstractButton button; ActionGroup group = (ActionGroup) pAction.getValue(KAction.KEY_GROUP); if (group != null) { button = new JToggleButton(pAction); ((JToggleButton) button).setSelected(group.getSelected() == pAction); ButtonGroup bg = group.getButtonGroup(ResKey.TOOLBAR); bg.add(button); } else { button = new JButton(pAction); } item = button; final WidgetResources wr = ResourceAdapter.getInstance().getWidget(key, ResKey.TOOLBAR); Icon icon = wr.getIcon(); if (icon == null) { icon = DEF_ICON; } button.setIcon(icon); button.setToolTipText(wr.getToolTip()); button.setMargin(ZERO_INSETS); button.setRequestFocusEnabled(false); button.setFocusable(false); if (false) { button.setText(wr.getText()); button.setMnemonic(wr.getMnenomnic()); button.setDisplayedMnemonicIndex(wr.getMnenomnicIndex()); } else { button.setText(null); } } if (item != null) { pToolbar.add(item); } return item; }
/** @noinspection ALL */ private void $$$loadButtonText$$$(AbstractButton component, String text) { StringBuffer result = new StringBuffer(); boolean haveMnemonic = false; char mnemonic = '\0'; int mnemonicIndex = -1; for (int i = 0; i < text.length(); i++) { if (text.charAt(i) == '&') { i++; if (i == text.length()) break; if (!haveMnemonic && text.charAt(i) != '&') { haveMnemonic = true; mnemonic = text.charAt(i); mnemonicIndex = result.length(); } } result.append(text.charAt(i)); } component.setText(result.toString()); if (haveMnemonic) { component.setMnemonic(mnemonic); component.setDisplayedMnemonicIndex(mnemonicIndex); } }