アプリケーションで JGoodies バインディングを使用する適切な方法を理解しようとして頭が痙攣しています。
読み取り専用プロパティを持つ Bean であるクラス Article があります。Article
プロパティは決して変更されないため、「プレーンな」Bean であり、プロパティ リスナーを管理しません。記事の特定のプロパティを表示するために使用したい Swing JPanel があります。さまざまな Article オブジェクトをさまざまな時間に表示できます。
1つ以上のオブジェクトを介して次のことを行う何か(X)を探しています:
- X には、現在表示されている記事が含まれます。呼び出して、別の記事に変更することができ
X.setArticle()
ますX.getArticle()
。現在表示されている記事を変更する方法は他にありません。変更していることを認識させるために、X を通過する必要があります。 - JPanel をセットアップするときに、X を使用して、現在表示されている記事のさまざまなプロパティ (タイトル、作成者など) にバインドされる読み取り専用の JTextField を作成したいと考えています。
- (これは #1 と #2 に続きます) X.setArticle() が呼び出されるたびに、テキスト フィールドの内容が自動的に更新されます。
BeanAdapter を使用して ValueHolder に含まれる Article からプロパティ モデルを抽出し、BasicComponentFactory.createTextField() を使用してテキスト フィールドを作成しようとしましたが、Article クラスにバインドされていないプロパティがあるという不平を言うことを除いて、すべてうまくいくようです。com.jgoodies.binding.beans.PropertyUnboundException
当たり前!私はそれを処理するための適切な「配管」を取得する方法がわかりません。それぞれArticle
は変更できませんが、現在表示されている記事が別の記事を指している可能性があります。
助言がありますか?