List of usage examples for javax.swing SwingUtilities replaceUIInputMap
public static void replaceUIInputMap(JComponent component, int type, InputMap uiInputMap)
component
to uiInputMap
. From source file:Main.java
/** * A helper for creating and updating key bindings for components with * mnemonics. The {@code pressed} action will be invoked when the mnemonic * is activated and the {@code released} action will be invoked when the * mnemonic is deactivated./*w w w . j a va 2 s.c o m*/ * <p> * TODO establish an interface for the mnemonic properties, such as {@code * MnemonicEnabled} and change signature to {@code public static <T extends * JComponent & MnemonicEnabled> void updateMnemonicBinding(T c, String * pressed, String released)} * * @param c * the component bindings to update * @param pressed * the name of the action in the action map to invoke when the * mnemonic is pressed * @param released * the name of the action in the action map to invoke when the * mnemonic is released (if the action is a toggle style, then * this parameter should be {@code null}) * @throws NullPointerException * if the component is {@code null} */ public static void updateMnemonicBinding(JComponent c, String pressed, String released) { Class<?> clazz = c.getClass(); int m = -1; try { Method mtd = clazz.getMethod("getMnemonic"); m = (Integer) mtd.invoke(c); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalArgumentException("unable to access mnemonic", e); } InputMap map = SwingUtilities.getUIInputMap(c, JComponent.WHEN_IN_FOCUSED_WINDOW); if (m != 0) { if (map == null) { map = new ComponentInputMapUIResource(c); SwingUtilities.replaceUIInputMap(c, JComponent.WHEN_IN_FOCUSED_WINDOW, map); } map.clear(); //TODO is ALT_MASK right for all platforms? map.put(KeyStroke.getKeyStroke(m, InputEvent.ALT_MASK, false), pressed); map.put(KeyStroke.getKeyStroke(m, InputEvent.ALT_MASK, true), released); map.put(KeyStroke.getKeyStroke(m, 0, true), released); } else { if (map != null) { map.clear(); } } }
From source file:com.googlecode.vfsjfilechooser2.plaf.basic.BasicVFSFileChooserUI.java
protected void uninstallListeners(VFSJFileChooser fc) { if (propertyChangeListener != null) { fc.removePropertyChangeListener(propertyChangeListener); }/*from w w w .j a va2 s.co m*/ fc.removePropertyChangeListener(getModel()); SwingUtilities.replaceUIInputMap(fc, JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, null); SwingUtilities.replaceUIActionMap(fc, null); }