Q19:「GUI複合コンポーネント」の構成部品に対して、キーバインド設定を行いたいのですが、どのような方法が考えられるでしょうか。
Q19-1:
(1) 複合コンポーネントへのキーバインド
キーイベントハンドラーを使用して、コンポーネント単位にキーバインド設定をしています。
具体的には、検索画面呼び出しの共通ショートカットキー割当です。
1画面に商品や取引先など複数の入力項目がありますが、それぞれの検索画面呼び出しキーは共通で、イベントIDで分けています。
一方で、複数の画面で共通のレイアウト部を「GUI複合コンポーネント」で作成しています。
この「GUI複合コンポーネント」の構成部品に対して、キーバインド設定を行いたいのですが、どのような方法が考えられるでしょうか。
・アプリケーション開始のキーバインド設定で、内部のコンポーネントに対して指定したい。
・「GUI複合コンポーネント」内部でキーバインド設定をしたい。
いずれかの方法で考えているのですが、その指定法が思いつきませんでした。
A19-1:
[複合コンポーネント]内部に別の[キーイベントハンドラー]を追加して頂く必要があります。
引数は[複合コンポーネント]内で設定したいので、[サブルーチン]等に接続し、[サブルーチン]のメソッドを公開し、アプリケーション開始イベントで呼び出すようにします。
「キーイベントバインディングを設定するPFComponent,int,int,int)」の<引数0>で[複合コンポーネント]内部のコンポーネントを指定すると共に、「requestFocus()」を実行し、キーイベント発生時には目的のコンポーネントにフォーカスが当たっている状態にしてお試し下さい。