suivant: A.2 Événements clavier
monter: A. Bibliothèque graphique
précédent: A. Bibliothèque graphique
  Table des matières
  Index
Sous-sections
A.1 Fonctionnalités
Pour pouvoir réaliser des dessins dans une fenêtre, on doit étendre la
classe FenetreGraphique du paquet graphique. Cette
classe permet d'ouvrir une fenêtre graphique composée de haut en bas
d'une barre de menu (avec un menu Fichier), d'une zone de
dessin et d'une ligne d'information (Cf. fig.
).
Cette classe fournit les constructeurs suivants :
FenetreGraphique()
construit une fenêtre de taille
, de fond blanc,
localisée au centre de l'écran.
FenetreGraphique(int w, int h)
idem que précédemment mais de taille
.
FenetreGraphique(int w, int h, Color c)
idem que précédemment mais avec une couleur de fond spécifiée par
c.
void ouvrir()
rend la fenêtre visible à l'écran
void fermer()
fait disparaître la fenêtre de l'écran
void dessiner(Graphics2D g2)
Cette méthode, qui par défaut ne fait rien, est appelée quand une
demande d'affichage de la zone de dessin a lieu.
Elle doit être redéfinie dans une extension de la classe
FenetreGraphique. La re-définition de cette méthode doit
contenir les instructions nécessaires à la réalisation du tracé qui
apparaîtra dans la zone de dessin. Cette méthode possède un paramètre
g2 appelé contexte graphique qui rassemble les attributs
courants relatifs au tracé comme par exemple l'épaisseur du trait, la
couleur de remplissage, etc.
void re_dessiner()
provoque le ré-affichage du contenu de la fenêtre de dessin. La zone de
dessin est effacée puis la méthode précédente est appelée. Cette méthode
doit être appelée lorsque le dessin a changé.
void informer(String s)
remplace le contenu actuel de la ligne d'information par la chaîne de
caractères désignée par s.
int getLargeur()
retourne la largeur en pixels de la zone de dessin.
int getHauteur()
retourne la hauteur en pixels de la zone de dessin.
A.1.6 Chargement d'images
Image chargerImage(String f)
retourne une image. Les données de l'images (pixels) sont chargées à
partir du fichier dont le nom est passé en argument. Le format du
fichier doit être GIF, JPEG ou PNG.
import java.awt.*;
import graphique.FenetreGraphique;
class Ex1 extends FenetreGraphique {
Ex1 () {}
Ex1 (int w, int h, Color c) {super(w,h,c);}
public void dessiner(Graphics2D g2) {
g2.setPaint(Color.red);
g2.drawString("ENPC", 0, getHauteur());
}
}
class Ex1Main {
public static void main(String[] args) {
FenetreGraphique fen = new Ex1();
fen.ouvrir();
fen.informer("Un premier exemple");
}
}
L'exécution de la classe Ex1Main provoque l'affichage de la
fenêtre représentée figure
.
Figure:
Une fenêtre graphique
 |
A.1.8 Traitement d'événements clavier
Pour que les méthodes ci-dessous soient invoquées, la zone de dessin
doit avoir été désignée (d'une manière qui dépend du gestionnaire de
fenêtres) comme cible des événements clavier.
public void keyTyped(KeyEvent e)
invoquée après qu'une touche associée à un caractère Unicode a été
frappée. Par défaut, ne fait rien.
public void keyPressed(KeyEvent e)
invoquée après qu'une touche a été enfoncée. Par défaut, ne fait rien.
public void keyReleased(KeyEvent e)
invoquée après qu'une touche a été relâchée. Par défaut, ne fait rien.
A.1.9 Traitement d'événements souris
Pour que les méthodes ci-dessous soient invoquées, le pointeur de la
souris doit se trouver dans la zone de dessin.
public void mouseClicked(MouseEvent e)
invoquée après un clic sur un des boutons. Par défaut, ne fait rien.
public void mousePressed(MouseEvent e)
invoquée après qu'un bouton a été enfoncé. Par défaut, ne fait rien.
public void mouseReleased(MouseEvent e)
invoquée après qu'un bouton a été relâché. Par défaut, ne fait rien.
public void mouseMoved(MouseEvent e)
invoquée en réponse à un déplacement de la souris, boutons relâchés. Par
défaut, ne fait rien.
public void mouseDragged(MouseEvent e)
invoquée en réponse à un déplacement de la souris avec un bouton
enfoncé. Le pointeur peut quitter la zone de dessin pourvu que le bouton
soit maintenu enfoncé.
Par défaut, ne fait rien.
suivant: A.2 Événements clavier
monter: A. Bibliothèque graphique
précédent: A. Bibliothèque graphique
  Table des matières
  Index
Rene' LALEMENT
2001-11-07