現在処理中(フォーカス取得中)のコンポーネントをビジネスルールから取得するには
JComponent comp = getCurrentComponent();
のメソッドを使用します。
このコンポーネントの物理名や論理名、アイテムなど、製品独自の情報を取得したい場合には、
jp.ne.mki.wedge.run.client.event.ComponentInterface
にJComponentコンポーネントをキャストすることにより取得が可能です。
また、次にフォーカス取得予定コンポーネント を取得することも可能です
使用するメソッドは
JComponent comp = getExpectNextComponent();
になります。
getExpectNextComponent() で返されるコンポーネントは、マウスクリック もしくは KeyMap(Memonic含む)
でフォーカス遷移を行おうとした場合、クリック対象のコンポーネント になります。
具体例では、以下のように テキストフィールド と、 ボタンがある画面があるとします。
ボタンには、「F1」のKeyMapが登録されています。

テキストフィールドにフォーカスが当たっている状態にて
- [F1]キーを押された もしくは ボタンをマウスでクリックした場合
(1)TextField After実行 [Current=TextField , ExpectNext=ButtonF1]
(2)ButtonF1 Before実行 [Current=ButtonF1 , ExpectNext=ButtonF1]
(3)ButtonF1 After実行 [Current=ButtonF1 , ExpectNext=ButtonF1]
- [Tab]キーを押された場合
(1)TextField After! [Current=TextField , ExpectNext=TextField]
となります。つまり、KeyMap もしくは マウスクリックの場合には次にフォーカスが当たるコンポーネントを
予測できるため、getExpectNextComponent() にフォーカス取得予定のコンポーネントが取得可能になります。
逆に、Tabキーによるフォーカス遷移では、次にフォーカス取得するコンポーネントが予測できないため、
getCurrentComponent と同じコンポーネントが返されます。