Je récupère les valeurs de données de la base de données avec succès. Je les ai également stockés dans un String[]
tableau. J'ai besoin de charger le tableau String en tant qu'éléments du JComboBox
en réponse à l'action clé effectuée. Comment puis-je recharger les éléments de JComboBox
chaque fois qu'une touche est enfoncée car les valeurs récupérées dépendent de la touche enfoncée. Plutôt simplement, j'ai besoin de rafraîchir dynamiquement les éléments JComboBox
.
DefaultComboBoxModel model = new DefaultComboBoxModel( yourStringArray );
comboBox.setModel( model );
Vous avez plusieurs options. Vous pouvez utiliser removeAllItems()
(ou l'une des autres méthodes de suppression) et addItem(Object anObject)
pour manipuler les objets sélectionnables. Ou vous pouvez implémenter un ComboBoxModel
et lui permettre de servir les données de votre tableau.
Ceci est la démo pour illustrer le modèle de combo box par défaut
public class ComboPanel extends JPanel {
JComboBox jcbo;
// this is constructor
public ComboPanel(ArrayList<String> items) {
jcbo = new JComboBox();
// getting exiting combo box model
DefaultComboBoxModel model = (DefaultComboBoxModel) jcbo.getModel();
// removing old data
model.removeAllElements();
for (String item : items) {
model.addElement(item);
}
// setting model with new data
jcbo.setModel(model);
// adding combobox to panel
this.add(jcbo);
}
}
J'espère que cela aidera peu :)