カード レイアウトを使用してアプリを作成しています。2 枚のカードが同じ情報をせん断しています (1 つはテキストエリアにデータを入力し、もう 1 つはデータを出力します)。フレームにデータが保存されました。値を取得して印刷する 2 番目のカードに更新機能を追加しましたが、それをトリガーする方法がわかりません。
この関数にバインドできるイベントはありますか? または、フレームからカード機能にアクセスする他の方法はありますか (カードを表示するたびにトリガーできます)?
ありがとう'
カード レイアウトを使用してアプリを作成しています。2 枚のカードが同じ情報をせん断しています (1 つはテキストエリアにデータを入力し、もう 1 つはデータを出力します)。フレームにデータが保存されました。値を取得して印刷する 2 番目のカードに更新機能を追加しましたが、それをトリガーする方法がわかりません。
この関数にバインドできるイベントはありますか? または、フレームからカード機能にアクセスする他の方法はありますか (カードを表示するたびにトリガーできます)?
ありがとう'
あなたが求めているものを達成するには、一般的に2つの方法があります。あなたが提案したように、表示されるたびに出力カードを更新/更新します。これは、出力カードとして使用する Component にComponentListenerを追加することで実行できます。このようにして、 componentShownメソッドをオーバーライドして、カスタムの refresh メソッドを呼び出すことができます。この質問に対する受け入れられた回答を参照してください。
2 番目の方法は、データが変更されるたびに refresh を呼び出すことです。実際には表示されていない場合でも、常に最新の状態に保ちます。アプリケーションの外観に応じて、これはさまざまな方法で行われる場合があります。専用のデータ モデルがある場合は、Observer / Observableパターンを使用して内部モデルからの変更を通知するか、モデルが変更されるたびに更新を呼び出すようにモデルをハードコードすることができます。最初のカードの入力フィールドから直接データを取得したい場合は、そのコードをそれぞれの変更リスナーなどに追加するだけです。