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.
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);