import javax.swing.*; import java.awt.event.*; // Panel de boutons /* * A mon souvenir, tu avait redéclaré un JPanel dans cette classe. Inutile puisqu'elle * en est un elle-même (un dérivé, tout du moins). */ public class PanelStart extends JPanel{ private JButton start,reset; /* * L'attribut suivant n'a normalement rien à faire ici, à moins que ces boutons * soient propres au panel des services uniquement. * Tant pis, on va laisser tel quel, mais à revoir. Tu t'en rendras compte par * toi-même. */ private PanelServices services; public PanelStart(PanelServices services){ super(); this.services = services; start = new JButton("Start"); reset = new JButton("Reset"); reset.addActionListener(new ResetEvent()); add(start); add(reset); /* * Pas grand chose à dire. Sinon que par habitude et lisibilité, j'ai (et bien * JE encore une fois, ce n'est pas conventionnel) tendance à en premier déclarer * et construire les composants, puis en second les ajouter au panel. */ } class ResetEvent implements ActionListener{ public void actionPerformed(ActionEvent event) { /* * Mieux vaut appeler une méthode public propre aux services. En règles * générales, mieux vaut ne pas trop toucher aux attributs des autres * (marrant comme phrase ;) ) mais utiliser ses fonctions "public" */ services.reset(); } } }