Ajouter et supprimer des éléments d’un JComboBox Java
JComboBox fait partie du package Java Swing. JComboBox hérite de la classe JComponent. JComboBox affiche un menu contextuel qui affiche une liste et l’utilisateur peut sélectionner une option dans cette liste spécifiée. Dans ce tutoriel nous allons découvrir comment ajouter et supprimer des éléments d’un JComboBox.
Exemple:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class ComboBoxExemple extends JFrame implements ItemListener, ActionListener {
// frame
static JFrame frame;
// combobox
static JComboBox combobox;
// label
static JLabel l1, l2;
// textfield
static JTextField text;
public static void main(String[] args)
{
// créer un nouvea frame
frame = new JFrame("Ajouter et supprimer des items");
// créer un objet
ComboBoxExemple obj = new ComboBoxExemple();
// tableau de chaînes contenant des langages
String langs[] = { "Java", "PHP", "Python", "C++", "Ruby" };
// créer une case à cocher
combobox = new JComboBox(langs);
// create textfield
text = new JTextField(10);
// create add and remove buttons
JButton b1 = new JButton("Ajouter");
JButton b2 = new JButton("Supprimer");
// add action listener
b1.addActionListener(obj);
b2.addActionListener(obj);
// ajouter ItemListener
combobox.addItemListener(obj);
// créer des étiquettes
l1 = new JLabel("Quel est votre langage prefere? ");
l2 = new JLabel("[Java]");
// définir la couleur du texte
l2.setForeground(Color.blue);
// créer un nouveau panneau
JPanel p = new JPanel();
// ajouter combobox, textfield, button et labels au panneau
p.add(l1);
p.add(combobox);
p.add(l2);
p.add(text);
p.add(b1);
p.add(b2);
// ajouter le panneau au frame
frame.add(p);
// définir la taille du frame
frame.setSize(400, 200);
frame.setLayout(new GridLayout(2, 1));
frame.show();
}
// si le bouton est appuyé
public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand();
if (str.equals("Ajouter")) {
combobox.addItem(text.getText());
}
else {
combobox.removeItem(text.getText());
}
}
public void itemStateChanged(ItemEvent e)
{
// si l'état du combobox est modifiée
if (e.getSource() == combobox) {
l2.setText(" ["+combobox.getSelectedItem()+"]");
}
}
}
Sortie:


