Exemple 3-1: Simple dessin (Le Ring) Java Gently (2nd edition), p.20
import java.awt.*;
import java.awt.event.*;
class Ring extends Frame {
/* The Ring program inspired by Rings by J M Bishop Dec 1996
http://tecfa.unige.ch/guides/java/staf2x/ex/basics/Ring.java
*/
public static void main (String [ ] args) {
// Create a graphics frame of Class Ring
// Set the Size and make it appear as
// outlined in the paint method.
Frame monFrame= new Ring ();
monFrame.setSize (300, 200);
monFrame.setVisible (true);
// Add functionality for closing the window
[coupé ici]
public void paint (Graphics g) {
// Draw a yellow ring
g.setColor (Color.yellow);
g.drawOval (100,50,50,50);
// Label the drawing
g.drawString("LA bague !", 110,140);
}
}
A. Packages et classes de l'API
-
API = application programmer's interface
-
Les packages sont des ensembles de classes qui rajoutent de la fonctionalité au langage
-
Il faut explicitement déclarer chaque package qu'on désire utiliser
-
Il existe 22 packages dans le JDK 1.1.7 et PLEINS de classes
-
http://tecfa2.unige.ch/guides/java/jdk1.1/docs/api/packages.html
Importation de l'awt (interface utilisateur)
import java.awt.*;
import java.awt.event.*;
Définition de la classe principale "Ring"
-
Utilisation et élargissement de la classe "système"
Frame
(fenêtre)
class Ring extends Frame { }
.....
Instantiation d'un objet Ring
Frame monFrame= new Ring ();
monFrame.setSize (300, 200);
monFrame.setVisible (true);
-
on crée un objet (instantiation) du type Frame avec la classe Ring
-
et on utilise des méthodes de la classe Frame pour définir la taille et l'afficher
-
... pour les détails voir plus tard !
Définition de la méthode paint
public void paint (Graphics g) { ...}
-
implémente une méthode paint pour afficher le contenu du Frame;
-
la méthode paint nécessite un argument de type Graphics
-
"paint" est appelée automatiquement quand le frame se crée
-
la variable "g" instantie la classe Graphics
Appel à des méthodes de la classe Graphics
g.setColor (Color.yellow);
g.drawOval (100,50,50,50);
// Label the drawing
g.drawString("LA bague !", 110,140);