Comment créer des JComboBox dynamiques interconnectées en Java ?
Dec 16, 2024 am 11:24 AMComment créer des JComboBox dynamiques
Afin de créer deux JComboBox dynamiques interconnectées, de telle sorte que lorsqu'une valeur est sélectionnée dans le premier JComboBox, le deuxième JComboBox est rempli avec les valeurs correspondantes, suivez ces étapes :
1. Créez un DefaultComboBoxModel pour chaque ensemble de données.
Ce modèle stockera les valeurs qui seront renseignées dans la deuxième JComboBox.
2. Définissez le modèle du deuxième JComboBox sur le modèle correspondant lorsque la valeur du premier JComboBox change.
Cela garantira que le deuxième JComboBox sera rempli avec les valeurs appropriées en fonction de la sélection dans le premier JComboBox.
Exemple :
Le code Java suivant montre comment implémenter ceci fonctionnalité :
import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; public class ComboTest extends JPanel implements ActionListener, Runnable { private final JComboBox combo1 = new JComboBox( new String[]{"Course 1", "Course 2", "Course 3"}); private final JComboBox combo2 = new JComboBox(); private ComboBoxModel[] models = new ComboBoxModel[3]; public ComboTest() { 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"}); combo2.setModel(models[0]); this.add(combo1); this.add(combo2); combo1.addActionListener(this); } @Override public void actionPerformed(ActionEvent e) { int i = combo1.getSelectedIndex(); combo2.setModel(models[i]); } @Override public void run() { JFrame f = new JFrame("ComboTest"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(this); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); } public static void main(String[] args) { EventQueue.invokeLater(new ComboTest()); } }
Ce code créera un JFrame avec deux JComboBox. Lorsque vous sélectionnez une valeur dans le premier JComboBox, le deuxième JComboBox sera rempli avec les valeurs correspondantes.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Top 4 frameworks JavaScript en 2025: React, Angular, Vue, Svelte

Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation?

Node.js 20: Boosts de performances clés et nouvelles fonctionnalités

Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance?

Iceberg: L'avenir des tables de Data Lake

Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave?

Spring Boot SnakeyAml 2.0 CVE-2022-1471 Issue fixe

Comment partager les données entre les étapes du concombre
