Cette page contient deux applets, une qui apparaît dans la page, et une autre qui est une fenêtre surgissante. Les deux applets sont des compteurs de secondes.
Quatre méthodes de la classe JApplet (héritée de la classe Applet) sont particulièrement importantes :
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
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;
setPreferredSize(new Dimension(200, 100));
setBorder(BorderFactory.createLineBorder(Color.BLACK));
setBackground(Color.WHITE);
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 Compteur extends JApplet implements ActionListener {
private Timer timer;
private Ardoise ardoise;
public void init() {
ardoise = new Ardoise(Integer.parseInt(getParameter("taille")));
setLayout(new FlowLayout(FlowLayout.CENTER));
add(ardoise);
timer = new Timer(1000, this);
}
public void start() {
timer.restart();
}
public void stop() {
timer.stop();
}
public void actionPerformed(ActionEvent e) {
ardoise.setHeure(ardoise.getHeure() + 1);
ardoise.repaint();
}
}Pour avoir la fenêtre surgissante, on peut remplace la méthode init ci-dessus par :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);
}Vous pouvez accéder aà :