0

私は Java を学びたい .net C# プログラマーです。DB に接続し、JDBC でデータを取得および書き込みできます。しかし、どうすれば JComboBox に入力し、その DisplayMember "PersonelName" と ValueMember "PersonelID" を設定できますか?

.NET には、DisplayMember、DataSource、ValueMember などの関連プロパティがあり、displaymember を使用して個人の名前を表示でき、データに書き込むときに、valuemember プロパティから個人の ID を知ることができます。しかし、Java にはこのようなプロパティはありません。JavaのJComboboxでPersonelIDを取得して個人名を表示するにはどうすればよいですか?

誰かが私に例を教えてくれますか?

4

2 に答える 2

2

JComboBox コンストラクターは、引数として ComboBoxModel を取ることができます。DefaultComboBoxModel は、ComboBoxModel インターフェイスの具体的な実装です。

したがって、 Personel クラスがある場合:

class Personel{
    String personelName;
    int personelId;
    //getters, setters

    //This will be your display member
    @Override
    public String toString(){
        return this.personelName;
    }
}

そして、JDBC 経由ですべての人員を取得し、それを新しいベクターに保存したと仮定すると、次のことができます。

DefaultComboBoxModel comboModel = new DefaultComboBoxModel(personel);
JComboBox myCombo = new JComboBox(comboModel);

実行時に、getModel および setModel を使用して JComboBox モデルにアクセスできます。表示メンバーは Personel の toString() メソッドになります。値メンバーは、DefaultComboBoxModel ベクターに格納されている実際のオブジェクト (この場合は Personel インスタンス) になります。

ComboBoxModelDefaultComboBoxModelの API ドキュメントをご覧になることをお勧めします。

于 2010-01-24T23:32:27.073 に答える
0

Personellとは異なる値を表示するコンボボックスを実際に使用する方法は?

あるコンボボックスにpersonelId、別のpersonalNameが表示されるとしましょう。

于 2010-12-08T09:04:05.897 に答える