Module java.desktop
Package java.awt

Class MenuShortcut

  • All Implemented Interfaces:
    Serializable

    public class MenuShortcut
    extends Object
    implements Serializable
    The MenuShortcut class represents a keyboard accelerator for a MenuItem.

    Menu shortcuts are created using virtual keycodes, not characters. For example, a menu shortcut for Ctrl-a (assuming that Control is the accelerator key) would be created with code like the following:

    MenuShortcut ms = new MenuShortcut(KeyEvent.VK_A, false);

    or alternatively

    MenuShortcut ms = new MenuShortcut(KeyEvent.getExtendedKeyCodeForChar('A'), false);

    Menu shortcuts may also be constructed for a wider set of keycodes using the java.awt.event.KeyEvent.getExtendedKeyCodeForChar call. For example, a menu shortcut for "Ctrl+cyrillic ef" is created by

    MenuShortcut ms = new MenuShortcut(KeyEvent.getExtendedKeyCodeForChar('ф'), false);

    Note that shortcuts created with a keycode or an extended keycode defined as a constant in KeyEvent work regardless of the current keyboard layout. However, a shortcut made of an extended keycode not listed in KeyEvent only work if the current keyboard layout produces a corresponding letter.

    The accelerator key is platform-dependent and may be obtained via Toolkit.getMenuShortcutKeyMaskEx().

    Since:
    1.1
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      MenuShortcut​(int key)
      Constructs a new MenuShortcut for the specified virtual keycode.
      MenuShortcut​(int key, boolean useShiftModifier)
      Constructs a new MenuShortcut for the specified virtual keycode.
    • Method Summary

      Modifier and Type Method Description
      boolean equals​(MenuShortcut s)
      Returns whether this MenuShortcut is the same as another: equality is defined to mean that both MenuShortcuts use the same key and both either use or don't use the SHIFT key.
      boolean equals​(Object obj)
      Returns whether this MenuShortcut is the same as another: equality is defined to mean that both MenuShortcuts use the same key and both either use or don't use the SHIFT key.
      int getKey()
      Returns the raw keycode of this MenuShortcut.
      int hashCode()
      Returns the hashcode for this MenuShortcut.
      protected String paramString()
      Returns the parameter string representing the state of this MenuShortcut.
      String toString()
      Returns an internationalized description of the MenuShortcut.
      boolean usesShiftModifier()
      Returns whether this MenuShortcut must be invoked using the SHIFT key.
    • Constructor Detail

      • MenuShortcut

        public MenuShortcut​(int key)
        Constructs a new MenuShortcut for the specified virtual keycode.
        Parameters:
        key - the raw keycode for this MenuShortcut, as would be returned in the keyCode field of a KeyEvent if this key were pressed.
        See Also:
        KeyEvent
      • MenuShortcut

        public MenuShortcut​(int key,
                            boolean useShiftModifier)
        Constructs a new MenuShortcut for the specified virtual keycode.
        Parameters:
        key - the raw keycode for this MenuShortcut, as would be returned in the keyCode field of a KeyEvent if this key were pressed.
        useShiftModifier - indicates whether this MenuShortcut is invoked with the SHIFT key down.
        See Also:
        KeyEvent
    • Method Detail

      • getKey

        public int getKey()
        Returns the raw keycode of this MenuShortcut.
        Returns:
        the raw keycode of this MenuShortcut.
        Since:
        1.1
        See Also:
        KeyEvent
      • usesShiftModifier

        public boolean usesShiftModifier()
        Returns whether this MenuShortcut must be invoked using the SHIFT key.
        Returns:
        true if this MenuShortcut must be invoked using the SHIFT key, false otherwise.
        Since:
        1.1
      • equals

        public boolean equals​(MenuShortcut s)
        Returns whether this MenuShortcut is the same as another: equality is defined to mean that both MenuShortcuts use the same key and both either use or don't use the SHIFT key.
        Parameters:
        s - the MenuShortcut to compare with this.
        Returns:
        true if this MenuShortcut is the same as another, false otherwise.
        Since:
        1.1
      • equals

        public boolean equals​(Object obj)
        Returns whether this MenuShortcut is the same as another: equality is defined to mean that both MenuShortcuts use the same key and both either use or don't use the SHIFT key.
        Overrides:
        equals in class Object
        Parameters:
        obj - the Object to compare with this.
        Returns:
        true if this MenuShortcut is the same as another, false otherwise.
        Since:
        1.2
        See Also:
        Object.hashCode(), HashMap
      • toString

        public String toString()
        Returns an internationalized description of the MenuShortcut.
        Overrides:
        toString in class Object
        Returns:
        a string representation of this MenuShortcut.
        Since:
        1.1
      • paramString

        protected String paramString()
        Returns the parameter string representing the state of this MenuShortcut. This string is useful for debugging.
        Returns:
        the parameter string of this MenuShortcut.
        Since:
        1.1