Module java.desktop
Package java.awt

Class DefaultKeyboardFocusManager

java.lang.Object
java.awt.KeyboardFocusManager
java.awt.DefaultKeyboardFocusManager
所有已实现的接口:
KeyEventDispatcher, KeyEventPostProcessor
直接已知的子类:
FocusManager

public class DefaultKeyboardFocusManager extends KeyboardFocusManager
AWT应用程序的默认KeyboardFocusManager。焦点遍历是响应组件的焦点遍历键以及使用容器的FocusTraversalPolicy来完成的。

更多信息请参阅如何使用焦点子系统,这是Java教程中的一个部分,以及焦点规范

自从:
1.4
另请参阅:
  • Constructor Details

    • DefaultKeyboardFocusManager

      public DefaultKeyboardFocusManager()
      构造一个DefaultKeyboardFocusManager
  • Method Details

    • dispatchEvent

      public boolean dispatchEvent(AWTEvent e)
      此方法由AWT事件分派程序调用,请求当前KeyboardFocusManager代表其分派指定的事件。DefaultKeyboardFocusManagers分派所有FocusEvents,所有与焦点相关的WindowEvents以及所有KeyEvents。这些事件是基于KeyboardFocusManager对焦点所有者和焦点和活动窗口的概念进行分派的,有时会覆盖指定AWTEvent的源。如果此方法返回false,则AWT事件分派程序将尝试自行分派事件。
      指定者:
      dispatchEvent 在类 KeyboardFocusManager
      参数:
      e - 要分派的AWTEvent
      返回:
      true 如果此方法分派了事件;否则为false
      另请参阅:
    • dispatchKeyEvent

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

      在所有情况下,此方法都将返回true,因为DefaultKeyboardFocusManager设计为dispatchEvent或AWT事件分派程序在任何情况下都不应对事件采取进一步操作。

      指定者:
      dispatchKeyEvent 在接口 KeyEventDispatcher
      指定者:
      dispatchKeyEvent 在类 KeyboardFocusManager
      参数:
      e - 要分派的KeyEvent
      返回:
      true
      另请参阅:
    • postProcessKeyEvent

      public boolean postProcessKeyEvent(KeyEvent e)
      此方法将由dispatchKeyEvent调用。它将处理任何未消耗的KeyEvent,该事件映射到AWT MenuShortcut,并消耗事件并激活快捷方式。
      指定者:
      postProcessKeyEvent 在接口 KeyEventPostProcessor
      指定者:
      postProcessKeyEvent 在类 KeyboardFocusManager
      参数:
      e - 要后处理的KeyEvent
      返回:
      true
      另请参阅:
    • processKeyEvent

      public void processKeyEvent(Component focusedComponent, KeyEvent e)
      如果KeyEvent表示指定focusedComponent的焦点遍历键,则此方法将启动焦点遍历操作。预期focusedComponent是当前焦点所有者,尽管这不一定是情况。如果不是,则焦点遍历仍将继续进行,就好像focusedComponent是焦点所有者一样。
      指定者:
      processKeyEvent 在类 KeyboardFocusManager
      参数:
      focusedComponent - 如果指定事件表示组件的焦点遍历键,则作为焦点遍历操作基础的组件
      e - 可能表示焦点遍历键的事件
    • enqueueKeyEvents

      protected void enqueueKeyEvents(long after, Component untilFocused)
      延迟分派KeyEvents,直到指定的组件成为焦点所有者。具有晚于指定时间戳的时间戳的KeyEvents将排队,直到指定组件接收到FOCUS_GAINED事件,或者AWT通过调用dequeueKeyEventsdiscardKeyEvents取消延迟请求。
      指定者:
      enqueueKeyEvents 在类 KeyboardFocusManager
      参数:
      after - 当前事件的时间戳,或者当前事件没有时间戳时的当前系统时间,或者AWT无法确定当前正在处理的事件
      untilFocused - 在任何待处理KeyEvents之前将接收到FOCUS_GAINED事件的组件
      另请参阅:
    • dequeueKeyEvents

      protected void dequeueKeyEvents(long after, Component untilFocused)
      释放因为调用enqueueKeyEvents而排队的所有与相同时间戳和组件相关的KeyEvents,以便正常分派给当前焦点所有者。如果给定的时间戳小于零,则应取消具有最旧时间戳的给定组件的未完成排队请求(如果有)。
      指定者:
      dequeueKeyEvents 在类 KeyboardFocusManager
      参数:
      after - 在调用enqueueKeyEvents时指定的时间戳,或任何值< 0
      untilFocused - 在调用enqueueKeyEvents时指定的组件
      另请参阅:
    • discardKeyEvents

      protected void discardKeyEvents(Component comp)
      丢弃因为一个或多个调用enqueueKeyEvents与指定组件或其后代相关而排队的所有KeyEvents。
      指定者:
      discardKeyEvents 在类 KeyboardFocusManager
      参数:
      comp - 在一个或多个调用中指定的组件enqueueKeyEvents,或者是这样一个组件的父组件
      参见:
    • focusPreviousComponent

      public void focusPreviousComponent(Component aComponent)
      在aComponent之前聚焦组件,通常基于FocusTraversalPolicy。
      指定者:
      focusPreviousComponent 在类 KeyboardFocusManager
      参数:
      aComponent - 作为焦点遍历操作基础的组件
      参见:
    • focusNextComponent

      public void focusNextComponent(Component aComponent)
      在aComponent之后聚焦组件,通常基于FocusTraversalPolicy。
      指定者:
      focusNextComponent 在类 KeyboardFocusManager
      参数:
      aComponent - 作为焦点遍历操作基础的组件
      参见:
    • upFocusCycle

      public void upFocusCycle(Component aComponent)
      将焦点上移一个焦点遍历周期。通常,焦点所有者设置为aComponent的焦点循环根,并且当前焦点循环根设置为新焦点所有者的焦点循环根。但是,如果aComponent的焦点循环根是一个窗口,则焦点所有者设置为焦点循环根的默认焦点组件,并且当前焦点循环根保持不变。
      指定者:
      upFocusCycle 在类 KeyboardFocusManager
      参数:
      aComponent - 作为焦点遍历操作基础的组件
      参见:
    • downFocusCycle

      public void downFocusCycle(Container aContainer)
      将焦点下移一个焦点遍历周期。如果aContainer是焦点循环根,则焦点所有者设置为aContainer的默认焦点组件,并且当前焦点循环根设置为aContainer。如果aContainer不是焦点循环根,则不会发生焦点遍历操作。
      指定者:
      downFocusCycle 在类 KeyboardFocusManager
      参数:
      aContainer - 作为焦点遍历操作基础的容器
      参见: