基本的に、プログラムは顧客情報を取得し、データベースにダンプします。情報を変更するために、ユーザーがコンボボックスから顧客名を選択できるようにしたいので、システムはその顧客のデータベースからすべての情報を呼び出すことができます。データベースへのアクセスは問題ありません。情報を入力して変更することは問題ありません。コンボボックスにすべての顧客名を入力する方法がわかりません。
2 に答える
最も簡単な解決策は、データベースから文字列の配列を作成することです。次に、それを使用してコンボボックスを作成します。
String[] mydbStrings = .....;
JComboBox mycombo = new JComboBox(mydbStrings);
しかし、それではいくつかの文字列しか得られません。顧客を表すクラスを定義し、データベースから顧客をロードし、Customer クラスで適切な toString() が定義されていることを確認し、Combo Box で使用される Customers の配列を作成することをお勧めします。そうすれば、顧客名はコンボボックスに表示されますが、いずれかを選択すると、すべての顧客の詳細がすぐに利用できるようになります。
顧客のすべてのデータを一度にロードするにはメモリが多すぎると思われる場合は、名前と ID だけを使用してより小さな custInfo クラスを作成することができます。次に、コンボボックスでそれを使用し、選択後に残りの顧客データをロードします。
通常のコンボボックスに入力する方法と、データベースからデータを取得する方法を知っていれば、これは簡単なはずです。デフォルトでは、コンボボックスはコンストラクターで文字列の配列を受け取るため、文字列 (顧客名) の配列を渡すだけでかまいませんが、コンボボックスのモデルを作成することをお勧めします。その後、Customers をモデル (ほとんどの場合 POJO) に渡すことができます。その後、必要に応じて名前を表示できるようにレンダラーを作成することもできます。次に、顧客が選択されたら、モデルを照会して選択した顧客の ID を取得し、それを使用して必要な顧客データを取得できます。