2

aと aでContainer化合物を作りました。私のアプリでは、この " " を非常に多く作成し、それらの内部に(クラスによって実装された)を追加します。このようなもの:TextAreaCheckBoxContainersTextAreaActionListener

for(int i = 0 ; i<20;i++){
 MyContainer c = new MyContainer();
 TextArea t = c.getTextArea();
 t.addActionListener(this);
}

TextAreaイベントをキャッチして、それが押された場合は、CheckBoxチェックまたはチェックを外します。非タッチ デバイスやシミュレータでは問題なく動作しますが、タッチ デバイスやエミュレータでTextAreaはイベントをキャッチできません。TextAreaの主要コンポーネントとしてを配置しようとしましたが、メソッドがないContainerためContainer機能しませんaddActionListener

4

2 に答える 2

2

私が質問を正しく理解している場合、あなたは単一のコンポーネントのように機能するように複数の異なるコンポーネントから組み立てられた複合コンポーネントを作成しようとしています。LWUIT / Codename Oneでは、これはリードコンポーネントと呼ばれ、添付の投稿は主にリソースエディターに関するものですが、概念は手動コーディングにも適用されます。「チェックボックス」をリードとして設定するだけで、すべてが機能するはずです。

これは、派生してオーバーライドすることで手動でコーディングできますが、スタイルの状態の変更(フォーカスされた状態/押された状態など)のような小さなエッジケースがあります。

于 2012-02-10T05:44:49.173 に答える
0

deriveメソッドのTextAreaクラスを使用することをお勧めしますgetTextArea()。次に、このクラスでメソッドを実装しpointerReleasedます。通常の方法で実行されるアクションをコーディングします。

于 2012-02-07T12:48:27.627 に答える