1 – Création d’un JCombBox Java
Etape 1 : Avant de créer un JComboBox, il va falloire préalablement savoir qu’il s’agit d’un composant Swing.
Pour cela, on doit impérativement créer une fenêtre dotée d’un JPanel en instanciant les classes JFrame et JPanel:
JFrame f=new JFrame();
JPanel pan=new JPanel();
f.setContentPane(pan);
pan.setLayout(null);
f.setSize(250,200);
Etape 2 : Création des éléments qui vont constituer la JComboBox. Les éléments qui vont constituer la JComboBox, peuvent être créer et organiser sur un tableau d’objets
Object[] elements = new Object[]{"élément1", "élément2", "élément3"};
Exemple :
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ComboBox1 {
public static void main(String[] args) {
//- 1) --- création d'une fenêtre JFrame Java
JFrame f=new JFrame();
JPanel pan=new JPanel();
f.setContentPane(pan);
pan.setLayout(null);
f.setSize(250,200);
//- 2) --- définir les élément de la liste
JComboBoxObject[] elements = new Object[]{"Laptop HP", "Laptop Acer", "Laptop Azus"};
//- 3) --- Création d'une nouvelle liste
JComboBox JComboBox<Object> liste = new JComboBox(elements);
liste.setBounds(10, 10, 120, 23);
pan.add(liste);
f.setVisible(true);
3 – Ajout d’actions à la liste JComboBox
Après avoir créer une liste JomboBox, on peut lui associer une action qui se declenche au moment de la séléction à l’aide de la méthode addActionListener(). L’action ne peut être ajouter que si la séléction est récupérée via la méthode getSelectedItem().
//- 4) --- Ajout d'une action à la séléction
liste.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
e.getSource();
//- 5) --- récupération de la séléction sur une variable du type String
String s=(String) liste.getSelectedItem();
System.out.println("Vous avez séléctionné : "+s);
}
});
On peut également afficher les résultats sur un JLabel :
Exemple complet :
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ComboBox2 {
public static void main(String[] args) {
//- 1) --- define new Window JFrame
JFrame f=new JFrame();
JPanel pan=new JPanel();
f.setContentPane(pan);
pan.setLayout(null);
f.setSize(400,300);
//- 2) --- Création des éléments de la JComboBox Java
Object[] elements = new Object[]{"Laptop HP", "Laptop Acer", "Laptop Azus"};
//- 3) --- Création d'une nouvelle liste JComboBox
JComboBox<String> liste = new JComboBox(elements);
liste.setBounds(10, 10, 120, 23);
pan.add(liste);
//- 4) --- Création d'un JLabel pour afficher les résultats de la séléction
JLabel label=new JLabel("View results here !");
pan.add(label);
label.setBounds(10,30,250,50);
//- 5) --- appliquer une action listener à la liste JComboBox
liste.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
e.getSource();
String s=(String) liste.getSelectedItem();
label.setText("Vous avez séléctionné : "+s);
}
});
f.setVisible(true);
}
}
Ce qui affiche après exécution :