logo

Général

Accueil

Présentation section

Matériel section

Trombinoscopes

Liens

Plan du site

Contactez-nous

CIEL 1

Langage C

Langage C++

Langage C#

TP Arduino

Mini-projets

STI2D

SysML

Terminale SIN

Projet SIN

1er ETT

Projet 1er ETT

Terminale ETT

Questions BAC ETT

AP

S SI

1er S SI

1er SSI mini projet

1er S SI Liens

Système Num. 1

TP C Visual Studio

TP C++ Arduino

Aide spécifique Java

TP C/C++ MyRIO

TP Darwin-Op

Les TP réseau Linux

Les TD Java

Les TP Java

TD C#

TP C#

Les Mini-projets

Vidéo Mini-Projet

Stage en entreprise

Système Num. 2

TP C++/C#

RaspBerry

Projets

IRIS 2

TP IPC linux / coldFire

TP PHP

Cours / TP XML

Projets

Serfa

UML

C++

Statistiques

1 visiteur

Record : 207

Pages vues :

Aujourd'hui : 83

Total : 86013

Valid XHTML 1.0 Transitional

separation

[Vous êtes ici ] ==> Accueil > Système Num. 1 > Les TD Java > TD5 : Applet et images

separation

Choisir l'image de l'étudiant à afficher dans la liste et cocher le format.


Objectifs : Le but de ce TD est de se familiariser à l’utilisation simple d’une applet en affichant des images

Thème : Applet et Image

But : Réaliser l’applet suivante

Image applet 2

Le choix de l’image à afficher se fait dans une List à gauche. Les images seront sur le disque dur local. Il sera possible de choisir entre l’image totale ou un agrandissement.
Le choix sera écouté par un ItemListener (interface) qui réaffichera l’image.

Afficher une image dans une applet



URL Du fait des limitations de sécurité, une applet ne peut pas accéder au disque dur de l'ordinateur client sur lequel elle s'exécute.
Le fichier image qu'elle doit afficher doit être téléchargé à partir d'une URL.
Pour Java les URL sont représentées par la classe URL contenue dans le package java.net. On peut obtenir l'URL d'une applet en utilisant sa méthode getCodeBase().

Téléchargement

La classe Image permet de représenter une image en mémoire. On peut créer une instance de cette classe en téléchargeant un fichier image au format gif ou jpg.
Cette opération est réalisée par la méthode getImagequi peut prend deux formes :
Dans la première forme on donne en paramètres une URL complète, dans la seconde on donne une URL de base et un chemin relatif sous forme de chaîne de caractères.
Si le fichier image se trouve dans le même dossier que l'applet on créera un objet img de la classe Image en écrivant :

img=getImage(getCodeBase(),"monImage.jpg");

Dessin de l'image



L'affichage d'une image se fait comme tout affichage à partir d'un objet de la classe Graphics avec la méthode drawImage. Celle-ci peut prendre plusieurs formes parmi lesquelles on trouve :

boolean drawImage(Image img, int x, int y, ImageObserver observer);


L'image est affichée à la position de coordonnées (x,y) avec sa taille d'origine. L'objet observer doit implémenter l'interface ImageObserver, c'est le cas pour les descendants de la classe Component, donc pour l'applet ou un Canvas.
On pourra donc désigner l'applet comme paramètre observer. Son rôle est de veiller à ce que le processus d'affichage se termine correctement.

boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer);

L'image est affichée à la position de coordonnées (x,y) avec une largeur égale à width et une hauteur égale à height

Exemple:
Ecrivons une applet qui affiche une image titrée d'un fichier dont le nom est passé en paramètre.

       public class affimg extends JApplet {
	   Image img;
 
           public void init(){
                img=null;
                String s=getParameter("image");
                if (s!=null) {
                      img=getImage(getCodeBase(),s);
                }
           }

           public void paint(Graphics g){
	        if (img!=null) 
                    g.drawImage(img,0,0,this);
           }
      }
o Créer d’abord l’applet et ça méthode init qui permet d’initialiser la représentation graphique de l’IHM

Image layout

o A l’aide du diagramme de classes suivant, compléter le programme.

Image classes

separation

ancre