requestFocus
requestFocus,是一种计算机语言中的类的方法。
基本介绍
- 中文名:requestFocus
- 外文名:requestFocus
基本信息
requestFocus
public void requestFocus()此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层 Window 没有成为获得焦点的视窗而拒绝了此请求,
从以下版本开始:
JDK1.0
另请参见:
requestFocusInWindow()
requestFocus
protected boolean requestFocus(boolean temporary)请求此 Component 获得输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层视窗没有成为获得焦点的视窗而拒绝了此请求。
此方法返回布尔值。如果返回 false,则请求注定要失败。如果返回 true,并且在本机视窗系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true 表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法不能用于为根本不是 component 的内容设定焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner。
所以只有轻量 Component 可以保证此方法的行为正确。
参数:
返回:
从以下版本开始:
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()。
详细信息
返回:
从以下版本开始:
1.4
另请参见:
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
返回:
从以下版本开始:
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 属于两个循环:一个起始于 Container 本身的循环,以及一个起始于 Container 的焦点循环根祖先的循环。对于后者,此方法返回 Container 的焦点循环根祖先。
返回:
此 Component 的焦点循环根祖先
从以下版本开始:
1.4
另请参见:
Container.isFocusCycleRoot()
isFocusCycleRoot
public boolean isFocusCycleRoot(Container container)返回指定的 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
转载请注明出处海之美文 » requestFocus