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

相關詞條

熱門詞條

聯絡我們