- java.lang.Object
-
- javafx.scene.input.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 isshift
,control
,alt
,meta
orshortcut
and can be defined asDOWN
,UP
orANY
.The
shortcut
modifier is used to represent the modifier key which is used commonly in keyboard shortcuts on the host platform. This is for examplecontrol
on Windows andmeta
(command key) on Mac. By usingshortcut
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
KeyCombination.Modifier
This class represents a pair of modifier key and its value.static class
KeyCombination.ModifierValue
ModifierValue
specifies state of modifier keys.
-
Field Summary
Fields Modifier and Type Field Description static KeyCombination.Modifier
ALT_ANY
Modifier which specifies that thealt
key can be either up or down.static KeyCombination.Modifier
ALT_DOWN
Modifier which specifies that thealt
key must be down.static KeyCombination.Modifier
CONTROL_ANY
Modifier which specifies that thecontrol
key can be either up or down.static KeyCombination.Modifier
CONTROL_DOWN
Modifier which specifies that thecontrol
key must be down.static KeyCombination.Modifier
META_ANY
Modifier which specifies that themeta
key can be either up or down.static KeyCombination.Modifier
META_DOWN
Modifier which specifies that themeta
key must be down.static KeyCombination
NO_MATCH
A KeyCombination that will match with no events.static KeyCombination.Modifier
SHIFT_ANY
Modifier which specifies that theshift
key can be either up or down.static KeyCombination.Modifier
SHIFT_DOWN
Modifier which specifies that theshift
key must be down.static KeyCombination.Modifier
SHORTCUT_ANY
Modifier which specifies that theshortcut
key can be either up or down.static KeyCombination.Modifier
SHORTCUT_DOWN
Modifier which specifies that theshortcut
key must be down.
-
Constructor Summary
Constructors Modifier Constructor Description protected
KeyCombination(KeyCombination.Modifier... modifiers)
Constructs aKeyCombination
with the specified list of modifiers.protected
KeyCombination(KeyCombination.ModifierValue shift, KeyCombination.ModifierValue control, KeyCombination.ModifierValue alt, KeyCombination.ModifierValue meta, KeyCombination.ModifierValue shortcut)
Constructs aKeyCombination
with an explicit specification of all modifier keys.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
Tests whether thisKeyCombination
equals to the specified object.KeyCombination.ModifierValue
getAlt()
The state of thealt
key in this key combination.KeyCombination.ModifierValue
getControl()
The state of thecontrol
key in this key combination.String
getDisplayText()
Returns a string representation of thisKeyCombination
that is suitable for display in a user interface (for example, beside a menu item).KeyCombination.ModifierValue
getMeta()
The state of themeta
key in this key combination.String
getName()
Returns a string representation of thisKeyCombination
.KeyCombination.ModifierValue
getShift()
The state of theshift
key in this key combination.KeyCombination.ModifierValue
getShortcut()
The state of theshortcut
key in this key combination.int
hashCode()
Returns a hash code value for thisKeyCombination
.static KeyCombination
keyCombination(String name)
Constructs a newKeyCombination
from the specified string.boolean
match(KeyEvent event)
Tests whether this key combination matches the combination in the givenKeyEvent
.String
toString()
Returns a string representation of this object.static KeyCombination
valueOf(String value)
Constructs a newKeyCombination
from the specified string.
-
-
-
Field Detail
-
SHIFT_DOWN
public static final KeyCombination.Modifier SHIFT_DOWN
Modifier which specifies that theshift
key must be down.
-
SHIFT_ANY
public static final KeyCombination.Modifier SHIFT_ANY
Modifier which specifies that theshift
key can be either up or down.
-
CONTROL_DOWN
public static final KeyCombination.Modifier CONTROL_DOWN
Modifier which specifies that thecontrol
key must be down.
-
CONTROL_ANY
public static final KeyCombination.Modifier CONTROL_ANY
Modifier which specifies that thecontrol
key can be either up or down.
-
ALT_DOWN
public static final KeyCombination.Modifier ALT_DOWN
Modifier which specifies that thealt
key must be down.
-
ALT_ANY
public static final KeyCombination.Modifier ALT_ANY
Modifier which specifies that thealt
key can be either up or down.
-
META_DOWN
public static final KeyCombination.Modifier META_DOWN
Modifier which specifies that themeta
key must be down.
-
META_ANY
public static final KeyCombination.Modifier META_ANY
Modifier which specifies that themeta
key can be either up or down.
-
SHORTCUT_DOWN
public static final KeyCombination.Modifier SHORTCUT_DOWN
Modifier which specifies that theshortcut
key must be down.
-
SHORTCUT_ANY
public static final KeyCombination.Modifier SHORTCUT_ANY
Modifier which specifies that theshortcut
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.ModifierValue shift, KeyCombination.ModifierValue control, KeyCombination.ModifierValue alt, KeyCombination.ModifierValue meta, KeyCombination.ModifierValue shortcut)
Constructs aKeyCombination
with an explicit specification of all modifier keys. Each modifier key can be set toDOWN
,UP
orANY
.- Parameters:
shift
- the value of theshift
modifier keycontrol
- the value of thecontrol
modifier keyalt
- the value of thealt
modifier keymeta
- the value of themeta
modifier keyshortcut
- the value of theshortcut
modifier key
-
KeyCombination
protected KeyCombination(KeyCombination.Modifier... modifiers)
Constructs aKeyCombination
with the specified list of modifiers. All modifier keys which are not explicitly listed are set to the defaultUP
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 theshift
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 thecontrol
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 thealt
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 themeta
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 theshortcut
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 givenKeyEvent
.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 thisKeyCombination
.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 theIgnored
keyword. A non-prefixed modifier key implies itsDOWN
value while the prefixed version implies theANY
(ignored) value. If some modifier key is not specified in the string at all, it means it has the defaultUP
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 forKeyCodeCombination
or the single quoted key character forKeyCharacterCombination
.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 thisKeyCombination
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 thisKeyCombination
equals to the specified object.- Overrides:
equals
in classObject
- Parameters:
obj
- the object to compare to- Returns:
true
if the objects are equal,false
otherwise- See Also:
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
Returns a hash code value for thisKeyCombination
.- Overrides:
hashCode
in classObject
- Returns:
- the hash code value
- See Also:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
Returns a string representation of this object. Implementation returns the result of thegetName()
call.
-
valueOf
public static KeyCombination valueOf(String value)
Constructs a newKeyCombination
from the specified string. The string should be in the same format as produced by thegetName
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 aKeyCodeCombination
for it. If this can't be done, it falls back to theKeyCharacterCombination
.- 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 newKeyCombination
from the specified string. This method simply delegates tovalueOf(String)
.- Parameters:
name
- the string which represents the requested key combination- Returns:
- the constructed
KeyCombination
- See Also:
valueOf(String)
-
-