import javax.swing.JApplet; import javax.swing.JList; import javax.swing.JScrollPane; import javax.swing.JPanel; import javax.swing.BorderFactory; 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.FlowLayout; import java.awt.Graphics; import java.util.Vector; class PanneauChoixBis extends JPanel implements ListSelectionListener { ArdoiseListe ardoise = new ArdoiseListe(); JList liste; PanneauChoixBis() { 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)); add(ardoise); add(listeAvecAscenseur); setBorder(BorderFactory.createLineBorder(Color.BLACK)); } 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 ArdoiseListe extends JPanel { private Color couleur; ArdoiseListe() { 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); } } public class ChoixBis extends JApplet { public void init() { setLayout(new FlowLayout(FlowLayout.CENTER)); add(new PanneauChoixBis()); } }