requestFocus
requestFocus
public void requestFocus()请求此 Component 获得输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window。此组件对于所要许可的请求而言必须是可显示的、可见的和可获得焦点的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层 Window 没有成为获得焦点的窗口而拒绝了此请求,则记住此请求,并在后来用户使窗口成为获得焦点的窗口时许可此请求。
此方法不能用于为根本不是 Component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner()。
因为此方法的焦点行为与平台有关,所以强烈要求开发人员在可能时使用 requestFocusInWindow。
从以下版本开始:
JDK1.0
另请参见:
requestFocusInWindow(), FocusEvent, addFocusListener(java.awt.event.FocusListener), isFocusable(), isDisplayable(), KeyboardFocusManager.clearGlobalFocusOwner()
--------------------------------------------------------------------------------
requestFocus
protected boolean requestFocus(boolean temporary)请求此 Component 获得输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window。此组件对于所要许可的请求而言必须是可显示的、可见的和可获得焦点的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层窗口没有成为获得焦点的窗口而拒绝了此请求,则记住此请求,并在后来用户使窗口成为获得焦点的窗口时许可此请求。
此方法返回布尔值。如果返回 false,则请求注定要失败。如果返回 true,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true 表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法不能用于为根本不是 component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner。
因为此方法的焦点行为与平台有关,所以强烈要求开发人员在可能时使用 requestFocusInWindow。
此方法会尽力完成该请求,确保作为此请求结果所产生的 FocusEvent 具有指定的临时值。但是,因为在所有本机窗口系统上指定一个任意的临时状态是不可能实现的,所以只有轻量 Component 可以保证此方法的行为正确。此方法并非用于一般用途,而是作为轻量组件库(如 Swing)的挂钩而存在的。
参数:
temporary - 如果焦点改变是临时的(如窗口丢失焦点),则为 true;有关临时焦点改变的更多信息,请参阅 Focus Specification
返回:
如果焦点改变请求注定要失败,则返回 false;如果可能成功,则返回 true
从以下版本开始:
1.4
另请参见:
FocusEvent, addFocusListener(java.awt.event.FocusListener), isFocusable(), isDisplayable(), KeyboardFocusManager.clearGlobalFocusOwner()
--------------------------------------------------------------------------------
requestFocusInWindow
public boolean requestFocusInWindow()如果此 Component 的顶层祖先已经是获得焦点的窗口,则请求此 Component 获得输入焦点。此组件对于所要许可的请求而言必须是可显示的、可见的和可获得焦点的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员永远不能假定此 Component 是焦点所有者。
此方法返回布尔值。如果返回 false,则请求注定要失败。如果返回 true,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true 表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法不能用于为根本不是 Component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner()。
可在各种平台之间一致地实现此方法的焦点行为,所以强烈要求开发人员在可能时使用此方法,而不是 requestFocus。依赖 requestFocus 的代码可能在不同平台上表现出不同的焦点行为。
返回:
如果焦点改变请求注定要失败,则返回 false;如果可能成功,则返回 true
从以下版本开始:
1.4
另请参见:
requestFocus(), FocusEvent, addFocusListener(java.awt.event.FocusListener), isFocusable(), isDisplayable(), KeyboardFocusManager.clearGlobalFocusOwner()
--------------------------------------------------------------------------------
requestFocusInWindow
protected boolean requestFocusInWindow(boolean temporary)如果此 Component 的顶层祖先已经是获得焦点的 Window,则请求此 Component 获得输入焦点。此组件对于所要许可的请求而言必须是可显示的、可见的和可获得焦点的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法返回布尔值。如果返回 false,则请求注定要失败。如果返回 true,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true 表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法不能用于为根本不是 Component 的内容设置焦点所有者。应该使用 KeyboardFocusManager.clearGlobalFocusOwner。
可在各种平台之间一致地实现此方法的焦点行为,所以强烈要求开发人员在可能时使用此方法,而不是 requestFocus。依赖 requestFocus 的代码可能在不同平台上表现出不同的焦点行为。
此方法会尽力完成该请求,确保作为此请求结果所产生的 FocusEvent 具有指定的临时值。但是,因为在所有本机窗口系统上指定一个任意的临时状态是不可能实现的,所以只有轻量组件可以保证此方法的行为正确。此方法并非用于一般用途,而是作为轻量组件库(如 Swing)的挂钩而存在的。
参数:
temporary - 如果焦点改变是临时的(如窗口丢失焦点),则为 true;有关临时焦点改变的更多信息,请参阅 Focus Specification
返回:
如果焦点改变请求注定要失败,则返回 false;如果可能成功,则返回 true
从以下版本开始:
1.4
另请参见:
requestFocus(), FocusEvent, addFocusListener(java.awt.event.FocusListener), isFocusable(), isDisplayable(), KeyboardFocusManager.clearGlobalFocusOwner()
--------------------------------------------------------------------------------
transferFocus
public void transferFocus()将焦点转移到下一个组件,就好像此 Component 曾是焦点所有者。
从以下版本开始:
JDK1.1
另请参见:
requestFocus()
--------------------------------------------------------------------------------
getFocusCycleRootAncestor
public Container getFocusCycleRootAncestor()返回作为此 Component 焦点遍历循环的焦点循环根的 Container。每个焦点遍历循环只有一个焦点遍历循环根,每个不是 Container 的 Component 只属于一个焦点遍历循环。是焦点循环根的 Container 属于两个循环:一个起始于 Container 本身的循环,以及一个起始于 Container 的最近焦点循环根祖先的循环。对于后者,此方法返回 Container 的最近焦点循环根祖先。
返回:
此 Component 的最近焦点循环根祖先
从以下版本开始:
1.4
另请参见:
Container.isFocusCycleRoot()
--------------------------------------------------------------------------------
isFocusCycleRoot
public boolean isFocusCycleRoot(Container container)返回指定的 Container 是否为此 Component 焦点遍历循环的焦点循环根。每个焦点遍历循环只有一个焦点遍历循环根,每个不是 Container 的 Component 只属于一个焦点遍历循环。
参数:
container - 要测试的 Container
返回:
如果指定的 Container 是此 Component 的焦点循环根,则返回 true;否则返回 false
从以下版本开始:
1.4
另请参见:
Container.isFocusCycleRoot()
--------------------------------------------------------------------------------
nextFocus
@Deprecated
public void nextFocus()已过时。 从 JDK version 1.1 开始,由 transferFocus() 取代。
--------------------------------------------------------------------------------
transferFocusBackward
public void transferFocusBackward()将焦点转移到前一个组件,就好像此 Component 曾是焦点所有者。
从以下版本开始:
1.4
另请参见:
requestFocus()
--------------------------------------------------------------------------------
transferFocusUpCycle
public void transferFocusUpCycle()将焦点向上转移一个焦点遍历循环。通常将焦点所有者设置为此 Component 的焦点循环根,将当前的焦点循环根设置为新焦点所有者的的焦点循环根。但是如果此 Component 的焦点循环根是一个 Window,则将焦点所有者设置为焦点循环根的默认 Component,以便获得焦点,并且不改变当前的焦点循环根。
从以下版本开始:
1.4
另请参见:
requestFocus(), Container.isFocusCycleRoot(), Container.setFocusCycleRoot(boolean)
--------------------------------------------------------------------------------
hasFocus
public boolean hasFocus()如果此 Component 是焦点所有者,则返回 true。此方法已过时,并且已经由 isFocusOwner() 取代。
返回:
如果此 Component 是焦点所有者,则返回 true;否则返回 false
从以下版本开始:
1.2
--------------------------------------------------------------------------------
isFocusOwner
public boolean isFocusOwner()如果此 Component 是焦点所有者,则返回 true。
返回:
如果此 Component 是焦点所有者,则返回 true;否则返回 false
从以下版本开始:
1.4
--------------------------------------------------------------------------------