Module  java.desktop
软件包  java.awt

Class DefaultKeyboardFocusManager

    • 构造方法详细信息

      • DefaultKeyboardFocusManager

        public DefaultKeyboardFocusManager​()
    • 方法详细信息

      • dispatchKeyEvent

        public boolean dispatchKeyEvent​(KeyEvent e)
        如果调度程序链中没有其他的KeyEventDispatcher调度了KeyEvent,或者如果没有其他的KeyEventDispatchers被注册,则调用dispatchEvent 如果事件尚未消耗,则其目标将被启用,并且焦点所有者不为空,此方法将事件分派到其目标。 此方法还将随后将事件发送到所有注册的KeyEventPostProcessors。 所有这些操作完成后,事件将传递给对等体进行处理。

        在所有情况下,此方法返回true ,因为DefaultKeyboardFocusManager旨在使dispatchEvent和AWT事件调度程序都不会在任何情况下对事件采取进一步措施。

        Specified by:
        dispatchKeyEvent在接口 KeyEventDispatcher
        Specified by:
        dispatchKeyEventKeyboardFocusManager
        参数
        e - 要发送的KeyEvent
        结果
        true
        另请参见:
        Component.dispatchEvent(java.awt.AWTEvent)
      • processKeyEvent

        public void processKeyEvent​(Component focusedComponent,
                                    KeyEvent e)
        当且仅当KeyEvent表示指定的focusComponent的焦点遍历键时,此方法启动焦点遍历操作。 预计focusComponent是当前的焦点所有者,尽管不一定是这样。 如果不是,焦点遍历将继续进行,就像focusedComponent是焦点所有者一样。
        Specified by:
        processKeyEventKeyboardFocusManager
        参数
        focusedComponent - 作为聚焦遍历操作的基础的组件,如果指定的事件表示组件的焦点遍历键
        e - 可能代表焦点遍历键的事件
      • enqueueKeyEvents

        protected void enqueueKeyEvents​(long after,
                                        Component untilFocused)
        延迟调度KeyEvents直到指定的Component成为焦点所有者。 具有晚于指定时间戳的时间戳的KeyEvent将被排入队列,直到指定的组件接收到FOCUS_GAINED事件,或AWT通过调用dequeueKeyEventsdiscardKeyEvents取消延迟请求。
        Specified by:
        enqueueKeyEventsKeyboardFocusManager
        参数
        after - 当前事件的时间戳或当前事件没有时间戳的当前系统时间,或者AWT无法确定当前处理哪个事件
        untilFocused - 在任何待处理的KeyEvent之前将收到FOCUS_GAINED事件的组件
        另请参见:
        dequeueKeyEvents(long, java.awt.Component)discardKeyEvents(java.awt.Component)
      • dequeueKeyEvents

        protected void dequeueKeyEvents​(long after,
                                        Component untilFocused)
        发布正常调度到当前焦点所有者所有由于调用具有相同时间戳和组件的enqueueKeyEvents KeyEvents。 如果给定的时间戳小于零,则应取消给具有最早时间戳(如果有)的给定组件的未完成的入队请求。
        Specified by:
        dequeueKeyEvents中的 KeyboardFocusManager
        参数
        after - 在调用 enqueueKeyEvents指定的时间戳,或任何值<0
        untilFocused - 在调用 enqueueKeyEvents指定的组件
        另请参见:
        enqueueKeyEvents(long, java.awt.Component)discardKeyEvents(java.awt.Component)
      • upFocusCycle

        public void upFocusCycle​(Component aComponent)
        将焦点移动到一个焦点遍历周期。 通常,焦点所有者设置为aComponent的焦点循环根,并将当前焦点循环根设置为新焦点所有者的焦点循环根。 然而,如果aComponent的焦点循环根是Window,那么焦点所有者将被设置为焦点循环根的默认组件以进行对焦,并且当前焦点循环根不变。
        Specified by:
        upFocusCycleKeyboardFocusManager
        参数
        aComponent - 作为焦点遍历操作的基础的组件
        另请参见:
        Component.transferFocusUpCycle()
      • downFocusCycle

        public void downFocusCycle​(Container aContainer)
        将焦点向下移动一个焦点遍历周期。 如果aContainer是焦点循环根,那么焦点所有者将设置为aContainer的默认组件进行对焦,并将当前焦点循环根设置为aContainer。 如果aContainer不是焦点循环根,则不会发生焦点遍历操作。
        Specified by:
        downFocusCycleKeyboardFocusManager
        参数
        aContainer - 作为焦点遍历操作的基础的容器
        另请参见:
        Container.transferFocusDownCycle()