Module java.desktop
Package java.awt

Class MenuShortcut

java.lang.Object
java.awt.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.

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • 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 Details

    • 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
    • hashCode

      public int hashCode()
      Returns the hashcode for this MenuShortcut.
      Overrides:
      hashCode in class Object
      Returns:
      the hashcode for this MenuShortcut.
      Since:
      1.2
      See Also:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • 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