標準のJSFコンポーネントと同様に、ADF Facesでは、コマンド・コンポーネントがアクティブになるとアクション・イベントが配信され、入力コンポーネントのローカル値が変更されると値の変更イベントが配信されます。アクション・イベントおよび値の変更イベントに加え、ADF Facesコンポーネントでは他の種類のイベントも配信されます。これらのイベントとそれらに関連するイベント・リスナーは、次のとおりです。
イベント・クラス | イベント・リスナー | イベントの生成時期 |
---|---|---|
DisclosureEvent
|
DisclosureListener
|
|
DisclosureAllEvent
|
N/A |
|
FocusEvent
|
FocusListener
|
treeTable 内のサブツリーのフォーカスを変更したとき(つまり、フォーカス・インまたはフォーカス・アウトしたとき)。イベントの配信前に、フォーカスの変更先要素が現行ノードになります。ツリー表のフォーカス機能の詳細は、「ADF Facesのツリー表について」を参照してください。
|
LaunchEvent
|
LaunchListener
|
|
PollEvent
|
PollListener
|
ポール・リスナーでは、モデルの更新、コンポーネントのリフレッシュまたはダイアログの起動が可能です。ポール・イベントからダイアログを起動する方法の詳細は、「ADF Facesのポーリングについて」を参照してください。 |
RangeChangeEvent
|
RangeChangeListener
|
このイベントは、範囲の古い開始値と新しい開始値、および範囲の古い終了値と新しい終了値を戻します。終了値は範囲に含まれず、開始値は範囲に含まれます。たとえば、古い範囲が最初の5項目を対象としていた場合、古い開始値は0(ゼロ)で、古い終了値は5です。メソッドは、 範囲操作機能の詳細は、「ADF Faces Tableについて」を参照してください。 |
ReturnEvent
|
ReturnListener
|
ダイアログが正常に完了したとき。このイベントには、ソース・コンポーネントおよび戻り値に関する情報が記載されます。
|
SelectionEvent
|
SelectionListener
|
単一選択表(
|
SortEvent
|
SortListener
|
ソートまたはソート解除するために表の列が選択されたとき。このイベントには、ソース・コンポーネント、およびコレクションのソート基準に関する情報が記載されます。
|
AttributeChangeEvent
|
AttributeChangeListener
|
拡張レンダラによって、コンポーネントのレンダラ固有の属性がユーザー操作の結果として変更されたことが検出されたとき。ADF Faces Renderersでは、 |
注意: すべてのADF Facesイベント・クラスがjavax.faces.event.FacesEvent
を拡張します。これらの関連するイベント・リスナー・インタフェースは、javax.faces.event.FacesListener
を拡張します。ADF Facesの各イベントとイベント・リスナーの詳細は、oracle.adf.view.faces.event
に関するJavadocを参照してください。
JSFのイベント・リスナーと同様に、ADF Facesのイベント・リスナーは、イベント・ソース・オブジェクトによってイベントが起動されたときに通知の対象となるクラスです。イベント・リスナーは、関連するイベントを受け取るコンポーネントに登録されます。
すべてのADF Facesイベント・クラスにはprocessListener()
メソッドがあり、このメソッドは、指定のイベント・リスナーに、適切なメカニズムでイベントをブロードキャストします。このメカニズムは通常、イベント処理メソッドをコールし、イベントをパラメータとして渡します。すべてのADF Facesイベント・リスナーにはprocessEvent()メソッドがあります。Eventはイベント・タイプを表します。
たとえば、LaunchListener
は、単一の引数としてLaunchEvent
のインスタンスを受け取り、次のイベント処理メソッドを含んでいます。
public void processLaunch (LaunchEvent event)
また、ReturnListener
は、単一の引数としてReturnEvent
のインスタンスを受け取り、次のイベント処理メソッドを含んでいます。
public void processReturn (ReturnEvent event)
ADF Facesイベントを処理するために、バッキングBeanにイベント・リスナー・メソッドを実装できます。イベント・リスナー・メソッドは、唯一のパラメータとしてイベントを受け取り、void
を戻す(イベント・リスナーのprocessEvent()メソッドと同じシグネチャの)publicメソッドであることが必要です。
...
public void commandButton_launchListener(LaunchEvent LaunchEvent)
{
// Event code here...
}
...
public void commandButton_returnListener(ReturnEvent ReturnEvent)
{
// Event code here...
}
...
イベント・リスナー・メソッドをコンポーネントに登録するには、そのコンポーネントのイベント・リスナー属性を、イベントを処理するバッキングBeanメソッドにバインドします。次に例を示します。
<af:commandButton text="commandButton 1"
action="#{backing_untitled1.commandButton_action}"
launchListener="#{backing_untitled1.commandButton_launchListener}"
returnListener="#{backing_untitled1.commandButton_returnListener}"/>
次の表に、ADF Facesコンポーネントが生成できるイベント、およびリスナー・メソッドにバインドできるコンポーネント・リスナー属性を示します。
コンポーネント | リスナー属性 | 生成可能なイベント |
---|---|---|
commandButton 、commandLink 、commandMenuItem
|
actionListener 、returnListener 、launchListener
|
ActionEvent 、ReturnEvent 、LaunchEvent
|
inputFile 、inputHidden 、inputText 、selectBooleanCheckbox 、selectBooleanRadio 、selectManyListbox 、selectManyShuttle 、selectOneChoice 、selectOneListbox 、selectOneRadio 、selectOrderShuttle
|
valueChangeListener
|
ValueChangeEvent
|
selectInputColor 、selectInputDate 、selectInputText
|
actionListener 、returnListener 、valueChangeListener
|
ActionEvent 、ReturnEvent 、ValueChangeEvent
|
poll
|
pollListener
|
PollEvent
|
progressIndicator
|
actionListener
|
ActionEvent
|
singleStepButtonBar
|
nextActionListener 、previousActionListener
|
ActionEvent
|
selectRangeChoiceBar
|
rangeChangeListener
|
RangeChangeEvent
|
showDetail 、showDetailHeader 、showDetailItem 、menuTree 、page 、tree
|
disclosureListener
|
DisclosureEvent
|
table
|
rangeChangeListener 、disclosureListener 、disclosureAllListener 、sortListener 、selectionListener
|
RangeChangeEvent 、DisclosureEvent 、DisclosureAllEvent 、SelectionEvent 、SortEvent
|
treeTable
|
focusListener 、rangeChangeListener 、disclosureListener 、disclosureAllListener 、selectionListener
|
|
注意: フォーム(af:form
またはh:form
)には、ビルトイン・イベント機能を備えたADF Facesコンポーネントが含まれている必要があります。
デフォルトでは、コンポーネントまたは親コンポーネントのimmediate
属性がtrue
に設定されていないかぎり、イベントは、アプリケーションの起動フェーズまたは検証処理フェーズで配信されます。immediate
属性がtrue
の場合、イベントは、可能な最も早いフェーズ(通常はリクエスト値の適用フェーズ)で配信されます。
singleStepButtonBar
の場合、アクション・イベントは、前のステップに戻る場合はリクエスト値の適用フェーズで配信され、先のステップに進む場合はアプリケーションの起動フェーズで配信されます。
ADF Facesコンポーネントでは、クライアントのブラウザおよびプラットフォームで部分ページ・レンダリングがサポートされている場合は、そのイベントに対して部分ページ・レンダリングを使用します。部分ページ・レンダリングの詳細は、「ADF Facesでの部分ページ・レンダリングのサポートについて」を参照してください。
メソッド・バインディングについて
Beanメソッドへのコンポーネントのバインド
Copyright © 1997, 2007, Oracle. All rights reserved.