モジュール java.desktop
パッケージ java.awt.event

クラスFocusEvent

すべての実装されたインタフェース:
Serializable

public class FocusEvent
extends ComponentEvent
Componentが入力フォーカスを取得または失ったことを示す、低レベル・イベントです。 この低レベル・イベントは、TextFieldなどのComponentによって生成されます。 イベントは、そのコンポーネントのaddFocusListenerメソッドを使ってこれらのイベントを受け取るように登録されている、すべてのFocusListenerまたはFocusAdapterオブジェクトに渡されます。 (FocusAdapterオブジェクトは、FocusListenerインタフェースを実装します。) 各リスナー・オブジェクトは、イベントが発生したときにこのFocusEventを取得します。

フォーカス・イベントには、パーマネントとテンポラリの2つのレベルがあります。 パーマネント・フォーカス変更イベントは、requestFocus()を呼び出したり、ユーザーがTabキーを使用してComponentをトラバースしたりなど、フォーカスが別のComponentに直接移動するときに発生します。 テンポラリ・フォーカス変更イベントは、Windowの非アクティブ化やスクロール・バーのドラッグなど、別の操作の間接的な結果としてComponentのフォーカスが一時的に失われたときに発生します。 この場合、その操作が終了すると元のフォーカス状態が自動的に復元されます(Windowの非アクティブ化の場合は再度アクティブ化されたとき)。 パーマネントおよびテンポラリ・フォーカス・イベントは両方とも、FOCUS_GAINEDおよびFOCUS_LOSTイベントIDを使用して送信されます。レベルは、イベント内でisTemporary()メソッドを使用して識別できます。

すべてのFocusEventが原因を記録 - このイベントが発生した理由。 原因は、フォーカス・イベントの作成時に割り当てられ、getCause()を呼び出すことで取得できます。

特定のFocusEventインスタンスのidパラメータがFOCUS_FIRSTからFOCUS_LASTまでの範囲にない場合に、未指定の動作が発生します。

導入されたバージョン:
1.1
関連項目:
FocusAdapter, FocusListener, Tutorial: Writing a Focus Listener, 直列化された形式
  • フィールド詳細

    • FOCUS_FIRST

      public static final int FOCUS_FIRST
      フォーカス・イベントに使用されるIDの範囲内の最初の番号です。
      関連項目:
      定数フィールド値
    • FOCUS_LAST

      public static final int FOCUS_LAST
      フォーカス・イベントに使用されるIDの範囲内の最後の番号です。
      関連項目:
      定数フィールド値
    • FOCUS_GAINED

      public static final int FOCUS_GAINED
      このイベントは、このComponentがフォーカス所有者になったことを示します。
      関連項目:
      定数フィールド値
    • FOCUS_LOST

      public static final int FOCUS_LOST
      このイベントは、このComponentがフォーカス所有者でなくなったことを示します。
      関連項目:
      定数フィールド値
  • コンストラクタの詳細

    • FocusEvent

      public FocusEvent​(Component source, int id, boolean temporary, Component opposite)
      ComponentおよびCause.UNKNOWNの原因と反対の、指定された一時状態を持つFocusEventオブジェクトを構築します。 反対Componentとは、フォーカス変更に関係するもう一方のComponentのことです。 FOCUS_GAINEDイベントの場合、これはフォーカスを失ったComponentです。 FOCUS_LOSTイベントの場合、これはフォーカスを取得したComponentです。 このフォーカス変更が、ネイティブ・アプリケーションで、異なるVM内のJavaアプリケーションで、またはもう一方のComponentなしで発生した場合、反対Componentnullです。

      このメソッドはsourcenullの場合にIllegalArgumentExceptionをスローします。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントのタイプを示す整数。 許容される値については、FocusEventのクラスの説明を参照してください。
      temporary - フォーカス変更がテンポラリの場合はtrue、そうでない場合はfalse
      opposite - フォーカス変更に関係するもう一方のComponent、またはnull
      例外:
      IllegalArgumentException - sourcenullの場合
      導入されたバージョン:
      1.4
      関連項目:
      EventObject.getSource(), AWTEvent.getID(), isTemporary(), getOppositeComponent(), FocusEvent.Cause.UNKNOWN
    • FocusEvent

      public FocusEvent​(Component source, int id, boolean temporary, Component opposite, FocusEvent.Cause cause)
      Componentと反対の、指定された一時状態を持つFocusEventオブジェクトを作成します。 反対Componentとは、フォーカス変更に関係するもう一方のComponentのことです。 FOCUS_GAINEDイベントの場合、これはフォーカスを失ったComponentです。 FOCUS_LOSTイベントの場合、これはフォーカスを取得したComponentです。 このフォーカス変更が、ネイティブ・アプリケーションで、異なるVM内のJavaアプリケーションで、またはもう一方のComponentなしで発生した場合、反対Componentnullです。

      sourceまたはcausenullの場合、このメソッドはIllegalArgumentExceptionをスローします。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントのタイプを示す整数。 許容される値については、FocusEventのクラスの説明を参照してください。
      temporary - フォーカス変更がテンポラリの場合はtrue、そうでない場合はfalse
      opposite - フォーカス変更に関係するもう一方のComponent、またはnull
      cause - フォーカス・イベントの原因。
      例外:
      IllegalArgumentException - sourcenullと等しい場合、またはcausenullと等しい場合
      導入されたバージョン:
      9
      関連項目:
      EventObject.getSource(), AWTEvent.getID(), isTemporary(), getOppositeComponent(), FocusEvent.Cause
    • FocusEvent

      public FocusEvent​(Component source, int id, boolean temporary)
      FocusEventオブジェクトを構築し、変更がテンポラリかどうかを識別します。

      このメソッドはsourcenullの場合にIllegalArgumentExceptionをスローします。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントのタイプを示す整数。 許容される値については、FocusEventのクラスの説明を参照してください。
      temporary - フォーカス変更がテンポラリの場合はtrue、そうでない場合はfalse
      例外:
      IllegalArgumentException - sourcenullの場合
      関連項目:
      EventObject.getSource(), AWTEvent.getID(), isTemporary()
    • FocusEvent

      public FocusEvent​(Component source, int id)
      FocusEventオブジェクトを構築し、フォーカスのパーマネント変更として識別します。

      このメソッドはsourcenullの場合にIllegalArgumentExceptionをスローします。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントのタイプを示す整数。 許容される値については、FocusEventのクラスの説明を参照してください。
      例外:
      IllegalArgumentException - sourcenullの場合
      関連項目:
      EventObject.getSource(), AWTEvent.getID()
  • メソッドの詳細

    • isTemporary

      public boolean isTemporary()
      フォーカス変更イベントをテンポラリまたはパーマネントとして識別します。
      戻り値:
      フォーカス変更がテンポラリの場合はtrue、そうでない場合はfalse
    • getOppositeComponent

      public Component getOppositeComponent()
      このフォーカス変更に関係するもう一方のComponentを返します。 FOCUS_GAINEDイベントの場合、これはフォーカスを失ったComponentです。 FOCUS_LOSTイベントの場合、これはフォーカスを取得したComponentです。 このフォーカス変更が、ネイティブ・アプリケーションで、異なるVMまたはコンテキスト内のJavaアプリケーションで、またはもう一方のComponentなしで発生した場合、nullが返されます。
      戻り値:
      フォーカス変更に関係するもう一方のComponent、またはnull
      導入されたバージョン:
      1.4
    • paramString

      public String paramString()
      このイベントを特定するパラメータ文字列を返します。 このメソッドは、イベント・ログの作成およびデバッグに便利です。
      オーバーライド:
      paramString、クラス: ComponentEvent
      戻り値:
      イベントを特定する文字列とその属性
    • getCause

      public final FocusEvent.Cause getCause()
      イベントの原因を返します。
      戻り値:
      FocusEvent.Cause値の1つ
      導入されたバージョン:
      9