データ フローのペイン コンポーネントの接続
提供された 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 サイトの他の関連記事を参照してください。