IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

 

Développons en Java   2.30  
Copyright (C) 1999-2022 Jean-Michel DOUDOUX    (date de publication : 15/06/2022)

[ Précédent ] [ Sommaire ] [ Suivant ] [Télécharger ]      [Accueil ]

 

40. Le graphisme

 

chapitre    4 0

 

Niveau : niveau 2 Elémentaire 

 

La classe Graphics contient les outils nécessaires pour dessiner. Cette classe est abstraite et elle ne possède pas de constructeur public : il n'est pas possible de construire des instances de graphics nous même. Les instances nécessaires sont fournies par le système d'exploitation qui instanciera grâce à la machine virtuelle une sous-classe de Graphics dépendante de la plate-forme utilisée.

Ce chapitre contient une section :

 

40.1. Les opérations sur le contexte graphique

 

40.1.1. Le tracé de formes géométriques

A l'exception des lignes, toutes les formes peuvent être dessinées vides (méthode drawXXX) ou pleines (fillXXX).

La classe Graphics possède de nombreuses méthodes qui permettent de réaliser des dessins.

Méthode Rôle
drawRect(x, y, largeur, hauteur)
fillRect(x, y, largeur, hauteur)

dessiner un carré ou un rectangle

drawRoundRect(x, y, largeur, hauteur, hor_arr,ver_arr)
fillRoundRect(x, y, largeur, hauteur, hor_arr, ver_arr)

dessiner un carré ou un rectangle aux angles arrondis

drawLine(x1, y1, x2, y2)

Dessiner une ligne

drawOval(x, y, largeur, hauteur)
fillOval(x, y, largeur, hauteur)

dessiner un cercle ou une ellipse en spécifiant le rectangle dans lequel ils s'inscrivent

drawPolygon(int[], int[], int)
fillPolygon(int[], int[], int)

Dessiner un polygone ouvert ou fermé. Les deux premiers paramètres sont les coordonnées en abscisses et en ordonnées. Le dernier paramètre est le nombre de points du polygone.
Pour dessiner un polygone fermé il faut joindre le dernier point au premier.

Exemple ( code Java 1.1 ) :
int[] x={10,60,100,80,150,10};
int[] y={15,15,25,35,45,15};
g.drawPolygon(x,y,x.length);
g.fillPolygon(x,y,x.length);

Il est possible de définir un objet Polygon.

Exemple ( code Java 1.1 ) :
int[] x={10,60,100,80,150,10};
int[] y={15,15,25,35,45,15};
Polygon p = new Polygon(x, y,x.length );
g.drawPolygon(p);
drawArc(x, y, largeur, hauteur, angle_deb, angle_bal)
fillArc(x, y, largeur, hauteur, angle_deb, angle_bal);

dessiner un arc d'ellipse inscrit dans un rectangle ou un carré. L'angle 0 se situe à 3 heures. Il faut indiquer l'angle de début et l'angle balayé

 

40.1.2. Le tracé de texte

La méthode drawString() permet d'afficher un texte aux coordonnées précisées

Exemple ( code Java 1.1 ) :
g.drawString(texte, x, y );

Pour afficher des nombres de type int ou float, il suffit de les concaténer à une chaîne éventuellement vide avec l'opérateur +.

 

40.1.3. L'utilisation des fontes

La classe Font permet d'utiliser une police de caractères particulière pour afficher un texte.

Exemple ( code Java 1.1 ) :
Font fonte = new Font(" TimesRoman ",Font.BOLD,30);

Le constructeur de la classe Font est Font(String, int, int). Les paramètres sont : le nom de la police, le style (BOLD, ITALIC, PLAIN ou 0,1,2) et la taille des caractères en points.

Pour associer plusieurs styles, il suffit de les additionner

Exemple ( code Java 1.1 ) :
Font.BOLD + Font.ITALIC

Si la police spécifiée n'existe pas, Java prend la fonte par défaut même si une autre a été spécifiée précédemment. Le style et la taille seront tout de même adaptés. La méthode getName() de la classe Font retourne le nom de la fonte.

La méthode setFont() de la classe Graphics permet de changer la police d'affichage des textes

Exemple ( code Java 1.1 ) :
Font fonte = new Font("
TimesRoman ",Font.BOLD,30);
g.setFont(fonte);
g.drawString("bonjour",50,50);

Les polices suivantes sont utilisables : Dialog, Helvetica, TimesRoman, Courier, ZapfDingBats

 

40.1.4. La gestion de la couleur

La méthode setColor() permet de fixer, à postériori, la couleur des éléments graphiques créés dans l'instance de type Graphics.

Exemple ( code Java 1.1 ) :
g.setColor(Color.black); //(green, blue, red, white, black, ...)

 

40.1.5. Le chevauchement de figures graphiques

Si 2 surfaces de couleur différentes se superposent, alors la dernière dessinée recouvre la précédente sauf si on invoque la méthode setXORMode(). Dans ce cas, la couleur de l'intersection prend une autre couleur. L'argument à fournir est une couleur alternative. La couleur d'intersection représente une combinaison de la couleur originale et de la couleur alternative.

 

40.1.6. L'effacement d'une aire

La méthode clearRect(x1, y1, x2, y2) dessine un rectangle dans la couleur de fond courante.

 

40.1.7. La copie d'une aire rectangulaire

La méthode copyArea(x1, y1, x2, y2, dx, dy) permet de copier une aire rectangulaire. Les paramètres dx et dy permettent de spécifier un décalage en pixels de la copie par rapport à l'originale.

 

 


[ Précédent ] [ Sommaire ] [ Suivant ] [Télécharger ]      [Accueil ]

78 commentaires Donner une note à l´article (5)

 

Copyright (C) 1999-2022 Jean-Michel DOUDOUX. Vous pouvez copier, redistribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU, Version 1.1 ou toute autre version ultérieure publiée par la Free Software Foundation; les Sections Invariantes étant constitués du chapitre Préambule, aucun Texte de Première de Couverture, et aucun Texte de Quatrième de Couverture. Une copie de la licence est incluse dans la section GNU FreeDocumentation Licence. La version la plus récente de cette licence est disponible à l'adresse : GNU Free Documentation Licence.