Class ShortcutAction
- java.lang.Object
-
- com.vaadin.event.Action
-
- com.vaadin.event.ShortcutAction
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
ShortcutListener
public class ShortcutAction extends Action
Shortcuts are a special type ofAction
s 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 specificPanel
- look forComponentContainer
s implementingAction.Handler
orAction.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ShortcutAction.KeyCode
Key codes that can be used for shortcutsstatic interface
ShortcutAction.ModifierKey
Modifier key constants-
Nested classes/interfaces inherited from class com.vaadin.event.Action
Action.Container, Action.Handler, Action.Listener, Action.Notifier, Action.ShortcutNotifier
-
-
Field Summary
Fields Modifier and Type Field Description static char
SHORTHAND_CHAR_ALT
Used in the caption shorthand notation to indicate the ALT modifier.static char
SHORTHAND_CHAR_CTRL
Used in the caption shorthand notation to indicate the CTRL modifier.static char
SHORTHAND_CHAR_SHIFT
Used in the caption shorthand notation to indicate the SHIFT modifier.
-
Constructor Summary
Constructors Constructor Description ShortcutAction(String shorthandCaption)
Constructs a ShortcutAction using a shorthand notation to encode the keycode and modifiers in the caption.ShortcutAction(String shorthandCaption, int... modifierKeys)
Constructs a ShortcutAction using a shorthand notation to encode the keycode a in the caption.ShortcutAction(String caption, int kc, int... m)
Creates a shortcut that reacts to the givenShortcutAction.KeyCode
and (optionally)ShortcutAction.ModifierKey
s.ShortcutAction(String caption, Resource icon, int kc, int... m)
Creates a shortcut that reacts to the givenShortcutAction.KeyCode
and (optionally)ShortcutAction.ModifierKey
s.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getKeyCode()
Get theShortcutAction.KeyCode
that this shortcut reacts to (in combination with theShortcutAction.ModifierKey
s).int[]
getModifiers()
Get theShortcutAction.ModifierKey
s required for the shortcut to react.-
Methods inherited from class com.vaadin.event.Action
getCaption, getIcon, setCaption, setIcon
-
-
-
-
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 givenShortcutAction.KeyCode
and (optionally)ShortcutAction.ModifierKey
s.
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 visuallykc
- KeyCode that the shortcut reacts tom
- optional modifier keys
-
ShortcutAction
public ShortcutAction(String caption, Resource icon, int kc, int... m)
Creates a shortcut that reacts to the givenShortcutAction.KeyCode
and (optionally)ShortcutAction.ModifierKey
s.
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 visuallyicon
- used when displaying the shortcut visuallykc
- KeyCode that the shortcut reacts tom
- 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.gnew ShortcutAction("Do &stuff", new int[]{ShortcutAction.ModifierKey.CTRL}));
will respond to CTRL-S.- Parameters:
shorthandCaption
-modifierKeys
-
-
-
Method Detail
-
getKeyCode
public int getKeyCode()
Get theShortcutAction.KeyCode
that this shortcut reacts to (in combination with theShortcutAction.ModifierKey
s).- Returns:
- keycode for this shortcut
-
getModifiers
public int[] getModifiers()
Get theShortcutAction.ModifierKey
s required for the shortcut to react.- Returns:
- modifier keys for this shortcut
-
-