import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.JApplet; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; @SuppressWarnings("serial") class Ardoise extends JPanel { private int heure = 1; private int taille; Ardoise(int taille) { this.taille = taille; setBackground(Color.WHITE); setBorder(BorderFactory.createLineBorder(Color.BLACK)); setPreferredSize(new Dimension(200, 100)); Font font = new Font("Courier", Font.PLAIN, taille); setFont(font); } public int getHeure() { return heure; } public void setHeure(int heure) { this.heure = heure; } public void paintComponent(Graphics g) { super.paintComponent(g); g.drawString(Long.toString(heure), getWidth()/2 - taille, getHeight()/2); } } @SuppressWarnings("serial") public class CompteurF extends JApplet implements ActionListener { private Timer timer; private Ardoise ardoise; public void init() { timer = new Timer(1000, this); ardoise = new Ardoise(Integer.parseInt(getParameter("taille"))); JFrame fenetre = new JFrame(); fenetre.setLayout(new FlowLayout(FlowLayout.CENTER)); fenetre.add(ardoise); fenetre.pack(); fenetre.setLocation(100, 100); fenetre.setVisible(true); } public void start() { timer.restart(); } public void stop() { timer.stop(); } public void actionPerformed(ActionEvent e) { ardoise.setHeure(ardoise.getHeure() + 1); ardoise.repaint(); } }