Class KeyCombination

  • Direct Known Subclasses:
    KeyCharacterCombination, KeyCodeCombination

    public abstract class KeyCombination
    extends Object
    Represents a combination of keys which are used in keyboard shortcuts. A key combination consists of a main key and a set of modifier keys. The main key can be specified by its key code - KeyCodeCombination or key character - KeyCharacterCombination. A modifier key is shift, control, alt, meta or shortcut and can be defined as DOWN, UP or ANY.

    The shortcut modifier is used to represent the modifier key which is used commonly in keyboard shortcuts on the host platform. This is for example control on Windows and meta (command key) on Mac. By using shortcut key modifier developers can create platform independent shortcuts. So the "Shortcut+C" key combination is handled internally as "Ctrl+C" on Windows and "Meta+C" on Mac.

    Since:
    JavaFX 2.0
    • Field Detail

      • SHIFT_DOWN

        public static final KeyCombination.Modifier SHIFT_DOWN
        Modifier which specifies that the shift key must be down.
      • SHIFT_ANY

        public static final KeyCombination.Modifier SHIFT_ANY
        Modifier which specifies that the shift key can be either up or down.
      • CONTROL_DOWN

        public static final KeyCombination.Modifier CONTROL_DOWN
        Modifier which specifies that the control key must be down.
      • CONTROL_ANY

        public static final KeyCombination.Modifier CONTROL_ANY
        Modifier which specifies that the control key can be either up or down.
      • ALT_DOWN

        public static final KeyCombination.Modifier ALT_DOWN
        Modifier which specifies that the alt key must be down.
      • ALT_ANY

        public static final KeyCombination.Modifier ALT_ANY
        Modifier which specifies that the alt key can be either up or down.
      • META_DOWN

        public static final KeyCombination.Modifier META_DOWN
        Modifier which specifies that the meta key must be down.
      • META_ANY

        public static final KeyCombination.Modifier META_ANY
        Modifier which specifies that the meta key can be either up or down.
      • SHORTCUT_DOWN

        public static final KeyCombination.Modifier SHORTCUT_DOWN
        Modifier which specifies that the shortcut key must be down.
      • SHORTCUT_ANY

        public static final KeyCombination.Modifier SHORTCUT_ANY
        Modifier which specifies that the shortcut key can be either up or down.
      • NO_MATCH

        public static final KeyCombination NO_MATCH
        A KeyCombination that will match with no events.
    • Constructor Detail

      • KeyCombination

        protected KeyCombination​(KeyCombination.Modifier... modifiers)
        Constructs a KeyCombination with the specified list of modifiers. All modifier keys which are not explicitly listed are set to the default UP value.

        All possible modifiers which change the default modifier value are defined as constants in the KeyCombination class.

        Parameters:
        modifiers - the list of modifier keys and their corresponding values
    • Method Detail

      • getShift

        public final KeyCombination.ModifierValue getShift()
        The state of the shift key in this key combination.
        Returns:
        The state of the shift key in this key combination
      • getControl

        public final KeyCombination.ModifierValue getControl()
        The state of the control key in this key combination.
        Returns:
        The state of the control key in this key combination
      • getAlt

        public final KeyCombination.ModifierValue getAlt()
        The state of the alt key in this key combination.
        Returns:
        The state of the alt key in this key combination.
      • getMeta

        public final KeyCombination.ModifierValue getMeta()
        The state of the meta key in this key combination.
        Returns:
        The state of the meta key in this key combination
      • getShortcut

        public final KeyCombination.ModifierValue getShortcut()
        The state of the shortcut key in this key combination.
        Returns:
        The state of the shortcut key in this key combination
      • match

        public boolean match​(KeyEvent event)
        Tests whether this key combination matches the combination in the given KeyEvent.

        The implementation of this method in the KeyCombination class does only a partial test with the modifier keys. This method is overridden in subclasses to include the main key in the test.

        Parameters:
        event - the key event
        Returns:
        true if the key combinations match, false otherwise
      • getName

        public String getName()
        Returns a string representation of this KeyCombination.

        The string representation consists of sections separated by plus characters. Each section specifies either a modifier key or the main key.

        A modifier key section contains the KeyCode name of a modifier key. It can be prefixed with the Ignored keyword. A non-prefixed modifier key implies its DOWN value while the prefixed version implies the ANY (ignored) value. If some modifier key is not specified in the string at all, it means it has the default UP value.

        The format of the main key section of the key combination string depends on the KeyCombination subclass. It is either the key code name for KeyCodeCombination or the single quoted key character for KeyCharacterCombination.

        Examples of KeyCombination string representations:

        "Ctrl+Alt+Q"
        "Ignore Shift+Ctrl+A"
        "Alt+'w'"
        
        Returns:
        the string representation of this KeyCombination
      • getDisplayText

        public String getDisplayText()
        Returns a string representation of this KeyCombination that is suitable for display in a user interface (for example, beside a menu item).
        Returns:
        A string representation of this KeyCombination, suitable for display in a user interface.
        Since:
        JavaFX 8u20
      • equals

        public boolean equals​(Object obj)
        Tests whether this KeyCombination equals to the specified object.
        Overrides:
        equals in class Object
        Parameters:
        obj - the object to compare to
        Returns:
        true if the objects are equal, false otherwise
      • hashCode

        public int hashCode()
        Returns a hash code value for this KeyCombination.
        Overrides:
        hashCode in class Object
        Returns:
        the hash code value
      • toString

        public String toString()
        Returns a string representation of this object. Implementation returns the result of the getName() call.
        Overrides:
        toString in class Object
        Returns:
        the string representation of this KeyCombination
      • valueOf

        public static KeyCombination valueOf​(String value)
        Constructs a new KeyCombination from the specified string. The string should be in the same format as produced by the getName method.

        If the main key section string is quoted in single quotes the method creates a new KeyCharacterCombination for the unquoted substring. Otherwise it finds the key code which name corresponds to the main key section string and creates a KeyCodeCombination for it. If this can't be done, it falls back to the KeyCharacterCombination.

        Parameters:
        value - the string which represents the requested key combination
        Returns:
        the constructed KeyCombination
        Since:
        JavaFX 2.1
      • keyCombination

        public static KeyCombination keyCombination​(String name)
        Constructs a new KeyCombination from the specified string. This method simply delegates to valueOf(String).
        Parameters:
        name - the string which represents the requested key combination
        Returns:
        the constructed KeyCombination
        See Also:
        valueOf(String)