- java.lang.Object
-
- java.util.EventObject
-
- javafx.event.Event
-
- javafx.scene.input.InputEvent
-
- javafx.scene.input.KeyEvent
-
- All Implemented Interfaces:
-
Serializable
,Cloneable
public final class KeyEvent extends InputEvent
一个事件,表示击键发生在一个Node
。当按下,释放或键入键时,会生成此事件。 这取决于它被传递给事件的类型
onKeyPressed
,onKeyTyped
或者onKeyReleased
功能。“键型”事件较高级,通常不依赖于平台或键盘布局。 它们在输入Unicode字符时生成,并且是查找字符输入的首选方式。 在最简单的情况下,键型事件由一个按键(例如'a')产生。 然而,通常,字符由一系列按键(例如,SHIFT +'a')产生,并且从按键事件到键类型事件的映射可以是多对一或多对多。 主要版本通常不需要生成键入类型的事件,但有些情况下键盘事件不会生成,直到键被释放(例如,通过Windows中的Alt-Numpad方法输入ASCII序列)。 不生成不产生Unicode字符的键(例如,操作键,修饰键等)的键类型事件。
character
变量始终包含有效的Unicode字符或CHAR_UNDEFINED。 字符输入由键类型事件报告; 按键和按键释放事件不一定与字符输入相关联。 因此,character
变量保证仅对键类型事件有意义。对于按键和键释放事件,
code
变量包含事件的关键代码。 对于键类型事件,code
变量始终包含KeyCode.UNDEFINED
。“按键”和“按键释放”事件较低级别,取决于平台和键盘布局。 它们是按键或释放键生成的,是找出不产生字符输入的键的唯一方法(例如,操作键,修改键等)。 按下或释放的键由代码变量指示,其中包含虚拟键代码。
对于触发上下文菜单,请参阅
ContextMenuEvent
。- 从以下版本开始:
- JavaFX 2.0
- 另请参见:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static EventType<KeyEvent>
ANY
所有关键事件类型的常用超类型。static String
CHAR_UNDEFINED
KEY_PRESSED和KEY_RELEASED事件不映射到一个有效的Unicode字符使用它作为keyChar值。static EventType<KeyEvent>
KEY_PRESSED
当按下键时,会发生此事件。static EventType<KeyEvent>
KEY_RELEASED
当一个键被释放时,会发生这种情况。static EventType<KeyEvent>
KEY_TYPED
当字符生成键被键入(按下并释放)时,会发生此事件。-
Fields inherited from class javafx.event.Event
consumed, eventType, NULL_SOURCE_TARGET, target
-
Fields inherited from class java.util.EventObject
source
-
-
构造方法摘要
构造方法 Constructor 描述 KeyEvent(Object source, EventTarget target, EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)
从指定的参数构造一个新的KeyEvent
事件。KeyEvent(EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)
从指定的参数构建一个新的KeyEvent
事件,其中包含一个null
源和目标。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 KeyEvent
copyFor(Object newSource, EventTarget newTarget)
使用指定的事件源和目标创建并返回此事件的副本。KeyEvent
copyFor(Object source, EventTarget target, EventType<KeyEvent> type)
用给定的字段替换给定事件的副本。String
getCharacter()
与键类型事件相关联的Unicode字符或字符序列。KeyCode
getCode()
与该键中的键相关的键代码按下或键释放事件。EventType<KeyEvent>
getEventType()
获取此事件的事件类型。String
getText()
描述按键和键释放事件的键代码的字符串,如“HOME”,“F1”或“A”。boolean
isAltDown()
返回此事件的Alt修饰符是否关闭。boolean
isControlDown()
返回此修改器是否关闭此事件。boolean
isMetaDown()
返回Meta修饰符在此事件上是否关闭。boolean
isShiftDown()
返回此事件的Shift修饰符是否关闭。boolean
isShortcutDown()
返回主机平台常用快捷方式修饰符是否在此事件上关闭。String
toString()
返回此KeyEvent
对象的字符串表示形式。-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
构造方法详细信息
-
KeyEvent
public KeyEvent(Object source, EventTarget target, EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)
从指定的参数构造一个新的KeyEvent
事件。- 参数
-
source
- 事件的来源。 可以为null。 -
target
- 事件的目标。 可以为null。 -
eventType
- 事件的类型。 -
character
- 与事件关联的字符或序列 -
text
- 描述键码的字符串 -
code
- 整数键码 -
shiftDown
- 如果按shift键,shiftDown
true。 -
controlDown
- 如果按下控制修饰符,controlDown
true。 -
altDown
- 如果按Alt修饰符,altDown
true。 -
metaDown
- 如果按下元修饰符,metaDown
true。 - 从以下版本开始:
- JavaFX 8.0
-
KeyEvent
public KeyEvent(EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)
从指定的参数构建一个新的KeyEvent
事件,其中包含一个null
源和目标。- 参数
-
eventType
- 事件的类型。 -
character
- 与事件关联的字符或字符序列 -
text
- 描述密钥代码的字符串 -
code
- 整数关键码 -
shiftDown
- 如果按shift键,shiftDown
true。 -
controlDown
- 如果按下控制修饰符,controlDown
true。 -
altDown
- 如果按住alt修饰符,altDown
true。 -
metaDown
- 如果按下了元修饰符,metaDown
true。 - 从以下版本开始:
- JavaFX 8.0
-
-
方法详细信息
-
getCharacter
public final String getCharacter()
与键类型事件相关联的Unicode字符或字符序列。 如果密钥从基本多语言平面外部产生单个Unicode字符,则需要由Java中的相应代理对编码,或者如果密钥产生多个Unicode字符本身,则包含多个元素。例如,
character
将通过按SHIFT +'a'生成的键类型事件的值为“A”。 对于按键和按键释放事件,character
始终为CHAR_UNDEFINED
。- 结果
- 与键类型事件相关联的Unicode字符
-
getText
public final String getText()
描述按键和键释放事件的键代码的字符串,如“HOME”,“F1”或“A”。 对于键类型的事件,text
始终为空字符串。- 结果
- 描述键码的字符串
-
getCode
public final KeyCode getCode()
与该键中的键相关的键代码按下或键释放事件。 对于键型事件,code
始终为KeyCode.UNDEFINED
。- 结果
-
与此事件中的键相关的键代码,
KeyCode.UNDEFINED
用于键类型事件
-
isShiftDown
public final boolean isShiftDown()
返回此事件的Shift修饰符是否关闭。- 结果
- Shift修饰符是否关闭此事件。
-
isControlDown
public final boolean isControlDown()
返回此修改器是否关闭此事件。- 结果
- 此修改器是否关闭此事件。
-
isAltDown
public final boolean isAltDown()
返回此事件的Alt修饰符是否关闭。- 结果
- 此修改器是否关闭此事件。
-
isMetaDown
public final boolean isMetaDown()
返回Meta修饰符在此事件上是否关闭。- 结果
- Meta修饰符是否关闭此事件。
-
isShortcutDown
public final boolean isShortcutDown()
返回主机平台常用快捷方式修饰符是否在此事件上关闭。 这个常用的快捷键修饰符是修改器键,通常用于主机平台上的快捷方式。 它例如control
在Windows和meta
在Mac(命令键)。- 结果
-
true
如果快捷键修饰符关闭,否则为false
-
toString
public String toString()
返回此KeyEvent
对象的字符串表示形式。- 重写:
-
toString
在EventObject
- 结果
-
这个
KeyEvent
对象的字符串表示形式。
-
copyFor
public KeyEvent copyFor(Object newSource, EventTarget newTarget)
描述从类别复制:Event
使用指定的事件源和目标创建并返回此事件的副本。 如果源或目标设置为null
,它将被替换为NULL_SOURCE_TARGET
值。
-
copyFor
public KeyEvent copyFor(Object source, EventTarget target, EventType<KeyEvent> type)
用给定的字段替换给定事件的副本。- 参数
-
source
- 复制事件的新来源 -
target
- 复制事件的新目标 -
type
- 新事件类型。 - 结果
- 事件副本与字段被替换
- 从以下版本开始:
- JavaFX 8.0
-
getEventType
public EventType<KeyEvent> getEventType()
描述从类别复制:Event
获取此事件的事件类型。 相同的Event
类的对象可以有不同的事件类型。 这些事件类型进一步指定发生什么样的事件。- 重写:
-
getEventType
在InputEvent
- 结果
- the event type
-
-