java swing liste déroulante sélection et lien vers d'autres listes déroulantes


Voici le scénario: j'ai une table dans la base de données avec 3 colonnes (id, nom, âge). J'ai créé 3 combobox swing et un bouton qui envoie une "instruction select" à la base de données et remplit les combobox avec addItem(...).
Maintenant, je veux savoir comment lier les comboboxes de telle sorte que lorsque je sélectionne une valeur dans disons, la deuxième zone de liste déroulante qui récupère "name", la valeur" age " appropriée apparaît dans la troisième zone de liste déroulante.

Mon événement ActionEvent pour le bouton:

 jComboBox1.addItem(search.getInt("ID"));
 jComboBox2.addItem(search.getString("NAME"));
 jComboBox3.addItem(search.getString("AGE")); 

** search est le ResultSet J'acquiers!

Merci d'avance.

Author: Heisenbug, 2011-09-08

1 answers

Vous devez implémenter un ComboBoxModel personnalisé pour de telles opérations.

Vous pouvez mettre la logique de vos choix dans la méthode setSelectedItem:

public class YourComboBoxModel implements ComboBoxModel{
    public void setSelectedItem(Object anItem){

    }
    public Object getSelectedItem() {...}
    public Object getElementAt(int index){...} 
    public int getSize() {...}
}

Et ajoutez le ComboBoxModel souhaité au JComboBox relatif:

YourComboBoxModel model = new YourComboBoxModel();
JComboBox box = new JComboBox();
box.setModel(model);
 3
Author: Heisenbug, 2011-09-08 17:09:34