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