Maison >Java >javaDidacticiel >Comment créer des JComboBox dynamiques pour les données hiérarchiques ?
Création de JComboBox dynamiques pour les données hiérarchiques
Lorsque vous travaillez avec des données qui présentent une structure hiérarchique, telle que celle fournie dans la question, créez Les JComboBox dynamiques peuvent considérablement améliorer l'interaction de l'utilisateur et simplifier la sélection des données. Pour y parvenir, plusieurs ComboBoxModels sont nécessaires pour représenter les différents niveaux de hiérarchie.
Dans cet exemple particulier, nous avons trois cours (Course1, Course2, Course3) et leurs unités correspondantes (A1, A2, B1, B2 , B3, B4, C1, C2). Pour créer des JComboBox dynamiques, nous créons d’abord un ComboBoxModel pour chaque cours. Ces modèles contiendront les unités pour chaque cours, comme suit :
models[0] = new DefaultComboBoxModel(new String[] {"A1", "A2"}); models[1] = new DefaultComboBoxModel(new String[] {"B1", "B2", "B3", "B4"}); models[2] = new DefaultComboBoxModel(new String[] {"C1", "C2"});
Ensuite, nous remplissons la première JComboBox (combo1) avec les cours :
combo1 = new JComboBox(new String[]{ "Course 1", "Course 2", "Course 3" });
Nous remplissons ensuite la seconde JComboBox (combo2) avec les unités du premier cours par défaut :
combo2.setModel(models[0]);
Enfin, on ajoute un ActionListener vers combo1 pour gérer les sélections. Lorsque le cours sélectionné change dans combo1, les unités correspondantes sont renseignées dans combo2 :
@Override public void actionPerformed(ActionEvent e) { int i = combo1.getSelectedIndex(); combo2.setModel(models[i]); }
En implémentant cette approche, nous créons des JComboBox dynamiques qui permettent aux utilisateurs de sélectionner des cours et de voir leurs unités correspondantes renseignées dans une ComboBox liée. . Ce comportement dynamique permet une navigation et une sélection de données intuitives, en particulier lorsqu'il s'agit de structures de données hiérarchiques ou complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!