import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JScrollPane; import javax.swing.JPanel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Color; import java.awt.Graphics; import java.util.Vector; public class FenetreListe extends JFrame implements ListSelectionListener { Ardoise ardoise = new Ardoise(); JList liste; FenetreListe() { Vector listeItems = new Vector(); JScrollPane listeAvecAscenseur; listeItems.addElement("vert"); listeItems.addElement("rouge"); listeItems.addElement("bleu"); listeItems.addElement("jaune"); liste = new JList(listeItems); liste.setSelectedIndex(0); ardoise.setCouleur(Color.GREEN); liste.addListSelectionListener(this); listeAvecAscenseur = new JScrollPane(liste); listeAvecAscenseur.setPreferredSize(new Dimension(80, 70)); setLayout(new FlowLayout()); add(ardoise); add(listeAvecAscenseur); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); setLocation(200, 200); setVisible(true); } public void valueChanged(ListSelectionEvent evt) { Color couleur = Color.BLACK;; if (liste.getSelectedValue() == "vert") couleur = Color.GREEN; else if (liste.getSelectedValue() == "rouge") couleur = Color.RED; else if (liste.getSelectedValue() == "bleu") couleur = Color.BLUE; else if (liste.getSelectedValue() == "jaune") couleur = Color.YELLOW; ardoise.setCouleur(couleur); ardoise.repaint(); } } class EssaiFenetreListe { public static void main(String[] arg) { new FenetreListe(); } } class Ardoise extends JPanel { private Color couleur; Ardoise() { setPreferredSize(new Dimension(100, 100)); } void setCouleur(Color couleur) { this.couleur = couleur; } public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(couleur); g.fillOval(10,10,80,80); } }