の詳細を示しパネルを更新する方法、Person
参照を保持し、次のようにそのフィールドの値を表示する、のはdetailsPanel
それを呼びましょう。 (GridBagLayout
を使用して正しく整列)を使用して、それぞれを表示します(fieldName
、fieldValue
)。私は表示するフィールドがたくさんある。私はパネルを持っているオブジェクト
問題を表示するパネルは、常に表示する必要があります。すなわち、JDialog
というモードでは表示されないため、パネル作成時にPerson
オブジェクトフィールドを読み込むだけでパネルを作成できます。
ユーザーがPerson
リスト内の別の行を選択すると、パネルが常に表示され、そのPerson
参照が変更されます。
detailsPanel.setPerson (aPerson);
は今、私はすべてのフィールドを更新する必要がありますどのように思ったんだけど:これは私は、のようなものを、その状態を更新するメソッドを呼び出します。値を表示するすべてのJLabels
への参照を保持し、パネルを更新するときにそれぞれにsetText(value)
を使用するか、適切なフィールド値を返すようにすべてのラベルに対してgetText()
メソッドをオーバーライドする方がよいでしょうか。私はパネルを再描画するメソッドを更新し、getterメソッドが異なるPerson
オブジェクトで使用されると、テキストは自動的に変更されますか?
ご迷惑をおかけして申し訳ございません。
あなたの詳細な回答をありがとう、おそらく私の現在のニーズでは、ソリューション番号2で十分ですが、いくつかの非常に興味深い事柄を指摘しました! – Ansharja