// // un petit jeu de Pong qui illustre // le traitement des �v�nements et une animation simpliste // import java.awt.Container; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Pong{ public static void main(String[] args){ // générateur d'un ActionEvent à chaque 10 millisecondes final Timer timer = new Timer(10,null); final double maxX=600, maxY=400, diametre=30; // dimensions initiales final Balle balle = new Balle(maxX/2,maxY/2,diametre); // bouton final JButton b = new JButton("lancer"); b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ if(timer.isRunning()){ // arrêter timer.stop(); b.setText("lancer"); } else { // relance une nouvelle balle balle.init(); timer.start(); b.setText("arreter"); } } }); // JFrame frame = new JFrame(); Container c=frame.getContentPane(); // panel pour centrer le bouton JPanel p = new JPanel(); p.add(Box.createGlue()); p.add(b); p.add(Box.createGlue()); c.add(p,"North"); Jeu jeu = new Jeu(balle,timer,b); c.add(jeu); // dimensionner le jeu et le bouton frame.setSize((int)Math.rint(maxX),(int)Math.rint(maxY)); frame.setLocation(100,100); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // timer.addActionListener(jeu); // un ActionEvent sera envoyé au jeu timer.stop(); } }