Module  javafx.graphics
软件包  javafx.scene.input

Class TouchEvent

  • All Implemented Interfaces:
    SerializableCloneable


    public final class TouchEvent
    extends InputEvent
    触摸事件表示触摸屏操作。 它包含有关每个特定触摸点的详细信息。

    触摸点表示单个触摸的手指,并具有其位置,状态(按下/移动/释放/静止)以及在单个手势范围内唯一的ID。 详细参考见TouchPoint

    对于每个多点触摸动作,产生一组触摸事件 - 对于每个触摸点一。 事件类型对应于其触点状态。 每个事件还包含所有接触点的列表。 该设计允许从一个地方处理复杂的多点触摸动作,同时保持可以分别过滤/消耗每个触摸点。 要识别属于单个集合的事件是getEventSetId()方法。

    每个触摸点 - 类似于鼠标拖动 - 传递到单个节点上被按下,无论它在哪里移动。 可以通过使用TouchPoint文档中描述的抓取机制来更改此行为。

    从以下版本开始:
    JavaFX 2.2
    另请参见:
    Serialized Form
    • 字段详细信息

      • ANY

        public static final EventType<TouchEvent> ANY
        所有触摸事件类型的常用超类型。
      • TOUCH_PRESSED

        public static final EventType<TouchEvent> TOUCH_PRESSED
        当按下触摸点(第一次触摸)时,会发生此事件。
      • TOUCH_MOVED

        public static final EventType<TouchEvent> TOUCH_MOVED
        触摸点移动时会发生此事件。
      • TOUCH_RELEASED

        public static final EventType<TouchEvent> TOUCH_RELEASED
        当触发点被释放时,会发生此事件。
      • TOUCH_STATIONARY

        public static final EventType<TouchEvent> TOUCH_STATIONARY
        当按住触摸点并静止(不移动)时,会发生此事件。
    • 构造方法详细信息

      • TouchEvent

        public TouchEvent​(Object source,
                          EventTarget target,
                          EventType<TouchEvent> eventType,
                          TouchPoint touchPoint,
                          List<TouchPoint> touchPoints,
                          int eventSetId,
                          boolean shiftDown,
                          boolean controlDown,
                          boolean altDown,
                          boolean metaDown)
        构建新的TouchEvent事件。
        参数
        source - 事件的来源。 可以为null。
        target - 事件的目标。 可以为null。
        eventType - 事件的类型。
        touchPoint - 这个事件的接触点
        touchPoints - 多点触摸动作的触摸点集
        eventSetId - 设置多点触摸动作的ID
        shiftDown - 如果按shift键, shiftDown true。
        controlDown - 如果按下控制修饰符, controlDown true。
        altDown - 如果按Alt修饰符, altDown true。
        metaDown - 如果按下了元修饰符, metaDown true。
        从以下版本开始:
        JavaFX 8.0
      • TouchEvent

        public TouchEvent​(EventType<TouchEvent> eventType,
                          TouchPoint touchPoint,
                          List<TouchPoint> touchPoints,
                          int eventSetId,
                          boolean shiftDown,
                          boolean controlDown,
                          boolean altDown,
                          boolean metaDown)
        构造具有null源和目标的新的TouchEvent事件。
        参数
        eventType - 事件的类型。
        touchPoint - 这个事件的接触点
        touchPoints - 多点触摸动作的触摸点集
        eventSetId - 设置多点触摸动作的ID
        shiftDown - 如果按shift键, shiftDown true。
        controlDown - 如果按下控制修饰符, controlDown true。
        altDown - 如果按Alt修饰符, altDown true。
        metaDown - 如果按下了元修饰符, metaDown true。
        从以下版本开始:
        JavaFX 8.0
    • 方法详细信息

      • getTouchCount

        public int getTouchCount​()
        返回此触摸事件集所表示的触摸点数。 返回的数字与touchPoints列表的大小相匹配。
        结果
        由触摸事件设置的触摸点数。
      • copyFor

        public TouchEvent copyFor​(Object newSource,
                                  EventTarget newTarget)
        使用指定的事件源和目标创建并返回此事件的副本。 如果源或目标设置为null ,它将被替换为NULL_SOURCE_TARGET值。
        重写:
        copyForEvent
        参数
        newSource - 复制事件的新来源
        newTarget - 复制事件的新目标
        结果
        事件副本与新的源和目标
      • copyFor

        public TouchEvent copyFor​(Object newSource,
                                  EventTarget newTarget,
                                  EventType<TouchEvent> type)
        用给定的字段替换给定事件的副本。
        参数
        newSource - 复制事件的新来源
        newTarget - 复制事件的新目标
        type - 新的eventType
        结果
        事件副本与字段被替换
        从以下版本开始:
        JavaFX 8.0
      • getEventType

        public EventType<TouchEvent> getEventType​()
        说明从类别复制: Event
        获取此事件的事件类型。 同一个Event类的对象可以有不同的事件类型。 这些事件类型进一步指定发生什么样的事件。
        重写:
        getEventTypeInputEvent
        结果
        事件类型
      • getEventSetId

        public final int getEventSetId​()
        获取表示相同多点触摸动作的一组触摸事件的顺序号。 对于多点触控用户动作,可能存在触摸点的数量; 它们中的每一个产生触摸事件,每个触摸事件携带相同的触摸点列表,并且它们都从该方法返回相同的数字。 那么一些接触点的状态发生变化,新的一组事件就有了新的id。 该ID保证在一个手势的范围内是顺序和唯一的(当所有触摸点被释放时复位)。
        结果
        事件设置的顺序ID在手势范围内是唯一的
      • isShiftDown

        public final boolean isShiftDown​()
        Shift修饰符是否关闭此事件。
        结果
        如果Shift修饰符关闭此事件,则为true
      • isControlDown

        public final boolean isControlDown​()
        Control修饰符是否关闭此事件。
        结果
        如果Control修饰符在此事件中关闭,则为true
      • isAltDown

        public final boolean isAltDown​()
        此修改器是否关闭此事件。
        结果
        如果Alt修饰符关闭此事件,则为true
      • isMetaDown

        public final boolean isMetaDown​()
        Meta修饰符在此事件中是否关闭。
        结果
        如果Meta修饰符关闭此事件,则为true
      • getTouchPoint

        public TouchPoint getTouchPoint​()
        获取此事件的触点。
        结果
        触碰此事件
      • getTouchPoints

        public List<TouchPoint> getTouchPoints​()
        获取由这组触摸事件表示的所有触摸点,包括此事件的触摸点。 该列表是不可修改的,并按其ID进行排序,这意味着它也按照被按下的时间排序。 为了区分属于节点的触摸点和不相关的触摸点,可以使用TouchPoint的belongsTo方法。
        结果
        所有当前的接触点在一个不可修改的列表
      • toString

        public String toString​()
        返回此 TouchEvent对象的字符串表示形式。
        重写:
        toStringEventObject
        结果
        这个 TouchEvent对象的字符串表示形式。