いくつかの異なる文字列フィールド (タイトル、著者、件名など) を持つ Book オブジェクトがあり、本のコレクションのこれらの各フィールドを表示するように GUI を設計しています。フィールドごとに、ラベル (フィールドに名前を付ける)、TextField (フィールドに保存された値を表示する)、および TextField を編集可能にして 2 番目を表示する編集ボタンを配置するパネルがあります。ボタンをクリックして、行った編集を保存します。
これらを個別にパネルにコーディングするのではなく、単一のラベル、TextField、およびボタンを備えた「フィールド パネル」を作成したいと考えています。次に、foreach ループを使用して、フィールドごとにこれらのパネルの 1 つを作成し (リストに格納)、これらのパネルをメイン パネルにロードします。
私は次のことが不可能であることを知っています:
Book b = new Book();
String[] fieldTitles = {title, author, subject, publisher};
for (String str : fieldTitles) {
FieldPanel fp = new FieldPanel();
fp.namelabel.settext(str);
fp.textField.settext(b.str);
}
しかし、最後の行で私がやろうとしていることを達成する別の方法はありますか?それは、名前付き文字列変数を使用してオブジェクトのフィールドを参照することですか? 言い換えれば、私がやりたいこと: objectInstance.stringVariable
(ここで、stringVariable は objectInstance のフィールドの名前と一致します。