Par défaut, un composant JComboBox ne permet pas de modifier directement les données qu’il contient: ce composant a été crée en suivant le concept de séparation de la vue et du modèle. En conséquence, si vous voulez ajouter ou supprimer des éléments de la liste, il vous faudra d’abord récupérer le modèle du composant. Cela peut être fait grâce à la méthode getModel() de JComboBox.

Par défaut, les JComboBox utilisent pour modèle des instances de la classe DefaultComboBoxModel. Cela suffira dans la plupart des cas, mais il peut parfois être intéressant de construire son propre modèle; il suffira alors d’implémenter l’interface MutableComboBoxModel. Un modèle peut être transmis à la vue facilement en appelant la méthode setModel de vos JComboBox.

Attention: une fois le modèle modifié il faut forcer la réactualisation de la vue en appelant updateUI(). Par ailleurs, je vous conseille de supprimer temporairement les écouteurs que vous aurez éventuellement crée pour capturer les évènement de vos JComboBox avant toute modification de votre modèle, l’affectation d’un nouveau modèle pouvant entraîner une modification de la sélection du JComboBox et donc des erreurs de traitement à l’intérieur des écouteurs. Pour autant ne supprimez pas tous les écouteurs du composant: certains ont été crée automatiquement lors de sa création et sont nécessaire pour assurer son bon fonctionnement.