1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| import java.awt.Component;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
public class Exemple {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JComboBox combo = new JComboBox();
combo.setRenderer(new MyRenderer());
NomId item1 = new NomId("item1", 0);
NomId item2 = new NomId("item2", 1);
NomId item3 = new NomId("item3", 2);
combo.addItem(item1);
combo.addItem(item2);
combo.addItem(item3);
combo.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
NomId nomId = (NomId) e.getItem();
System.out.println("tu as sélectionné " + nomId + " ("
+ nomId.getNom() + ", " + nomId.getId() + ")");
}
}
});
f.add(combo);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
class NomId {
private String nom;
private int id;
public NomId(String nom, int id) {
this.nom = nom;
this.id = id;
}
public String getNom() {
return this.nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
}
class MyRenderer extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
NomId nomId = (NomId) value;
setText(nomId.getNom());
return this;
}
} |
Partager