ホームページ > Java > &#&チュートリアル > オブザーバー パターンは Java Swing コンポーネント間のデータ フローをどのようにリダイレクトできますか?

オブザーバー パターンは Java Swing コンポーネント間のデータ フローをどのようにリダイレクトできますか?

Patricia Arquette
リリース: 2024-11-29 18:22:11
オリジナル
487 人が閲覧しました

How Can the Observer Pattern Redirect Data Flow Between Java Swing Components?

データ フローのペイン コンポーネントの接続

提供された Main クラス内の PaneWithList コンポーネントには、選択された行の変更に応答して出力する JList が含まれています。選択内容をコンソールに表示します。この出力を出力タブの JTextPane にリダイレクトするには、オブザーバー パターンを使用できます。

オブザーバー パターンと PropertyChangeListener

オブザーバー パターンでは、1 つのオブジェクト (オブザーバー) が許可されます。 ) 別のオブジェクト (観測可能なもの) の変化に反応します。この場合、ObserverPanel はオブザーバーとして機能し、ObservablePanel (PaneWithList) のプロパティ変更を監視します。

PropertyChangeSupport

プロパティ変更イベントを有効にするために、ObservablePanel は Java のPropertyChangeSupport クラス。このクラスを使用すると、登録されたリスナーは、指定されたプロパティの値が変更されたときに通知を受け取ることができます。

提供されたコード例では、ObserverPanel は自身を ObservablePanel の PropertyChangeListener として登録します。具体的には、ObservablePanel のコンボ ボックスで選択された項目を表す PHYSICIST プロパティの変更をリッスンします。

プロパティの更新

選択の変更が発生したときObservablePanel の場合、コンボ ボックスは ActionEvent を起動し、ObserverPanel のプロパティ変更リスナーをトリガーします。次に、このリスナーは、新しく選択された値で ObserverPanel のラベルを更新します。

実装の概要

ObserverPanel には、最初は「null」と表示されるラベルが表示されます。 ObservablePanel で選択が行われると、リスナーはプロパティ変更通知を受け取り、選択された項目の値でラベルを更新します。

このアプローチでは、出力が ObservablePanel から ObserverPanel に効果的にリダイレクトされ、次のことが可能になります。選択した行を出力タブの JTextPane に表示します。

以上がオブザーバー パターンは Java Swing コンポーネント間のデータ フローをどのようにリダイレクトできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート