Comment écrire un rollover simple en Java ? Comment manipuler des images en Java ?
Programmation > Java
Recherche :   
Actualité Système Salon Concours Outils Programmation Devparadise Programmation HTML .Net JavaScript VBScript ASP PHP Visual Basic Perl Java Active X SQL XML WAP Delphi Graphisme Flash Web Design Promotion Référencement Publicité Valeur de votre site Outils Systèmes Windows Unix Linux Benchmark Hardware Réseaux locaux Droit Sécurité
Rollover simple en JAVA.
  Auteur : Hervé LEFEVRE

Comment écrire un rollover simple en Java ? Comment manipuler des images en Java ?

Publicité 
Ce script est épuré de telle sorte qu'il ne reste que le strict minimum pour fonctionner.

C'est un point de départ pour un débutant.

Pour fonctionner RollOver.html, RollOver.class, ImageTop.gif et ImageBottom.gif doivent être présents dans le même répertoire.

Dans notre exemple, l'applet entière constitue le rollover : WIDTH=100 HEIGHT=50 dans RollOver.html.
Les images ImageTop et ImageBottom font aussi 100x50.

Voici donc le déroulement du fonctionnement :
import java.awt.*; // on veut manipuler des images
import java.applet.Applet; // On veut fabriquer une applet

public class RollOver extends Applet

{

// Déclaration des variables globales à l'applet :
   Image ImageTop;
   Image ImageBottom;
   Image ImageAffiche;

   String ImageTopName;
   String ImageBottomName;


public RollOver()

{

   ImageTop=null;

   ImageBottom=null;

   ImageAffiche=null;

}


//Init() est appelé par le navigateur lorsque l'applet est chargée. Elle ne s'exécute qu'une fois.

   public void init()
   {
        // Lit le paramètre ImageTop dans RollOver.html
        ImageTopName=getParameter("ImageTop");

        // Lit le paramètre ImageBottom dans RollOver.html
        ImageBottomName=getParameter("ImageBottom");

        // Maintenant on demande à l'applet de charger les images
        ChargeImages();
        // Choix de l'image à afficher en premier
        ImageAffiche=ImageBottom;
   }


   private void ChargeImages()
   {
        // On utilise un mediatracker pour suivre le chargement des images
        // Ainsi on peut savoir si elles sont effectivement chargées ou non
        MediaTracker mediaTracker = new MediaTracker(this);
        // getDocumentBase() permet de retrouver l'URL de la page HTML
        // Qui contient l'applet
        ImageTop = getImage(getDocumentBase(), ImageTopName);
        mediaTracker.addImage(ImageTop, 0);
        ImageBottom = getImage(getDocumentBase(), ImageBottomName);
        mediaTracker.addImage(ImageBottom, 1);

        // On attend les images. Si une erreur se produit la partie 'catch' est exécuté
        // On pourrait par exemple y placer un booléen pour connaître le résultat.
        try{
           mediaTracker.waitForAll(10000);
        }
        catch(java.lang.InterruptedException errInterruptedException) {

        }
   }

// Ensuite le paint() est effectué sans que l'on ait besoin de lui dire

   // g représente le graphique de l'applet elle-même
   public void paint(Graphics g)
   {
        if(ImageAffiche !=null ){
           //On dessine dans l'applet l'image courante 'ImageAffiche'
           g.drawImage(ImageAffiche, 0, 0, null);
        }
   }


// Quand l'applet fonctionne lorsque l'on passe la souris sur celui-ci
// On crée l'événement mouseEnter::
   public boolean mouseEnter(Event event, int i, int j)
   {
        // Nouvelle image que l'on veut afficher
        ImageAffiche=ImageTop;
        // Affichage dans la barre de status du navigateur d'un message:
        showStatus("Enter");
        // On demande à ce que l'applet soit redéssiner. La méthode paint() sera appelée
        repaint();
        return true;
   }

// Lorsque l'on sort de l'applet avec la souris:
// On crée l'événement mouseExit:
   public boolean mouseExit(Event event, int i, int j)
   {
        ImageAffiche=ImageBottom;
        showStatus("Exit");
        repaint();
        return true;
   }

}
Maintenant il ne vous reste plus qu'à améliorer cette applet selon vos souhaits.

Il est toujours possible également d'utiliser des APIs plus récentes comme le Javax Swing pour être au TOP technologique.

L'applet est améliorable à tous les niveaux : récupération des images, récupération des événements, … mais c'est un début.

A lire aussi sur Devparadise.com :
  • XnView (1.61)
  • ASP et la création d'images à la volée
  • Comment récupérer l'ID d'un insert sous SQL Server?
  • Gifs animés sous ImageReady suite... (l'interpolation)
  • Une banque d’images pour dynamiser votre site
  • A télécharger aussi sur Devparadise.com :
  • XnView v1.80.3 version Complète
  • IconPro v 6
  • Wings 3D 0.98.17
  • Gallery v1.3.4
  • DJ Java Decompiler ver. 2.9.9.61 pour Windows 95/98/Me/NT/2000

  • © 1997-2005 tous droits réservés Devparadise.com
    Les logos, et marques déposées sont la propriété de leurs détenteurs respectifs.
    Devparadise.com s'est engagé à respecter la confidentialité des données personnelles régies par la loi 78-17 du 6 janvier 1978.
    Déclaration C.N.I.L. n° 621623
    Java,rollover,base,beginner,image