Class ShortcutAction

  • All Implemented Interfaces:
    Serializable
    Direct Known Subclasses:
    ShortcutListener

    public class ShortcutAction
    extends Action
    Shortcuts are a special type of Actions used to create keyboard shortcuts.

    The ShortcutAction is triggered when the user presses a given key in combination with the (optional) given modifier keys.

    ShortcutActions can be global (by attaching to the Window), or attached to different parts of the UI so that a specific shortcut is only valid in part of the UI. For instance, one can attach shortcuts to a specific Panel - look for ComponentContainers implementing Action.Handler or Action.Notifier.

    ShortcutActions have a caption that may be used to display the shortcut visually. This allows the ShortcutAction to be used as a plain Action while still reacting to a keyboard shortcut. Note that this functionality is not very well supported yet, but it might still be a good idea to give a caption to the shortcut.

    Since:
    4.0.1
    Author:
    Vaadin Ltd.
    See Also:
    Serialized Form
    • Field Detail

      • SHORTHAND_CHAR_ALT

        public static final char SHORTHAND_CHAR_ALT
        Used in the caption shorthand notation to indicate the ALT modifier.
        See Also:
        Constant Field Values
      • SHORTHAND_CHAR_SHIFT

        public static final char SHORTHAND_CHAR_SHIFT
        Used in the caption shorthand notation to indicate the SHIFT modifier.
        See Also:
        Constant Field Values
      • SHORTHAND_CHAR_CTRL

        public static final char SHORTHAND_CHAR_CTRL
        Used in the caption shorthand notation to indicate the CTRL modifier.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ShortcutAction

        public ShortcutAction​(String caption,
                              int kc,
                              int... m)
        Creates a shortcut that reacts to the given ShortcutAction.KeyCode and (optionally) ShortcutAction.ModifierKeys.
        The shortcut might be shown in the UI (e.g context menu), in which case the caption will be used.
        Parameters:
        caption - used when displaying the shortcut visually
        kc - KeyCode that the shortcut reacts to
        m - optional modifier keys
      • ShortcutAction

        public ShortcutAction​(String caption,
                              Resource icon,
                              int kc,
                              int... m)
        Creates a shortcut that reacts to the given ShortcutAction.KeyCode and (optionally) ShortcutAction.ModifierKeys.
        The shortcut might be shown in the UI (e.g context menu), in which case the caption and icon will be used.
        Parameters:
        caption - used when displaying the shortcut visually
        icon - used when displaying the shortcut visually
        kc - KeyCode that the shortcut reacts to
        m - optional modifier keys
      • ShortcutAction

        public ShortcutAction​(String shorthandCaption)
        Constructs a ShortcutAction using a shorthand notation to encode the keycode and modifiers in the caption.

        Insert one or more modifier characters before the character to use as keycode. E.g "&Save" will make a shortcut responding to ALT-S, "E^xit" will respond to CTRL-X.
        Multiple modifiers can be used, e.g "&^Delete" will respond to CTRL-ALT-D (the order of the modifier characters is not important).

        The modifier characters will be removed from the caption. The modifier character is be escaped by itself: two consecutive characters are turned into the original character w/o the special meaning. E.g "Save&&&close" will respond to ALT-C, and the caption will say "Save&close".

        Parameters:
        shorthandCaption - the caption in modifier shorthand
      • ShortcutAction

        public ShortcutAction​(String shorthandCaption,
                              int... modifierKeys)
        Constructs a ShortcutAction using a shorthand notation to encode the keycode a in the caption.

        This works the same way as ShortcutAction(String), with the exception that the modifiers given override those indicated in the caption. I.e use any of the modifier characters in the caption to indicate the keycode, but the modifier will be the given set.
        E.g new ShortcutAction("Do &stuff", new int[]{ShortcutAction.ModifierKey.CTRL})); will respond to CTRL-S.

        Parameters:
        shorthandCaption -
        modifierKeys -