2010-01-24 4 views
0

Je suis .NET C# programmeur qui veut apprendre Java ces jours-ci. Je peux connecter DB, obtenir et écrire des données avec JDBC.But Comment puis-je remplir JComboBox et définir ses DisplayMember "PersonelName" et ValueMember "PersonelID". Dans .NET il y a des propriétés connexes comme DisplayMember, DataSource, ValueMember, je peux montrer le nom du personel avec displaymember et quand j'écris des données je peux apprendre l'ID de personel de la propriété valuemember. Mais en Java il n'y a aucune propriété comme ceci. Comment puis-je obtenir PersonelID et afficher Personel Name dans JCombobox en Java? Quelqu'un peut-il donner un exemple. merci.Où puis-je trouver des fonctionnalités dans un jComboBox qui se trouvent dans le. ComboBox.

Répondre

2

Le constructeur JComboBox peut prendre un ComboBoxModel comme argument. DefaultComboBoxModel est une implémentation concrète de l'interface ComboBoxModel.

Donc, si vous avez une classe Personel:

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

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

Et si vous avez obtenu toutes personel via JDBC et l'ont stocké dans un nouveau vecteur, vous pouvez faire:

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

Lors de l'exécution , vous pouvez getModel et setModel pour accéder au modèle JComboBox. Le membre d'affichage sera la méthode toString() de Personel. Le membre valeur sera l'objet réel stocké dans le vecteur DefaultComboBoxModel, dans ce cas une instance Personel. Je suggère que vous jetez un oeil à la documentation API pour ComboBoxModel et DefaultComboBoxModel.

0

Comment avoir réellement des comboboxes qui afficheraient des valeurs différentes de Personell?

Dites qu'une liste déroulante affichera personelId, un autre nom personnel?

Questions connexes