Bienvenue Prénom - Déconnexion

Mot de passe oublié ?Accès membres : merci de vous identifier

BOURSE

RUBRIQUES

 
 TUTORIEL JAVA 
Charger et afficher une image
Chargement asynchrone puis adaptation de la fenêtre à la bonne taille, par l'exemple. (09/09/2004)
  1. Présentation et code | 2. Explications

  Forum

Réagissez dans les forums de JDN Développeurs

Pour cette troisième entrée dans notre série "coup de pouce", nous allons aborder le chargement asynchrone d'une image. Notre but : afficher dans une application Java une image présente dans le dossier de celle-ci - en l'occurrence nous allons afficher le logo de JDN Développeurs...


Voici le code, que nous expliquerons pas à pas page suivante...

[fichier ChargerImage.java]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ChargerImage
  {
  public static void main(String[] args)
    {
    Fenetre fenetre = new Fenetre();
    fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenetre.show();
    }
  }

class Fenetre extends JFrame
  {
  public Fenetre()
    {
    Container leContenant = getContentPane();
    leContenant.setLayout(new FlowLayout());

    AffichageImage image = new AffichageImage("logo_jdn_developpeurs.gif");
    leContenant.add(image);
    }
  }

class AffichageImage extends Canvas
  {
  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  int largeurEcran = screenSize.width;
  int hauteurEcran = screenSize.height;
  Image image;

  public AffichageImage(String url)
    {
    image = getToolkit().getImage(url);
    prepareImage(image, this);
    }

  public void paint(Graphics g)
    {
    g.drawImage(image, 0, 0, this);
    }

  public boolean imageUpdate(Image image, int info, int x, int y, int l, int h)
    {
    if ((info & (WIDTH | HEIGHT)) != 0)
      {
      setSize(l, h);
      getParent().getParent().getParent().getParent().setBounds( (largeurEcran - l) / 2, (hauteurEcran - h) / 2, l+8, h+32 );
      }

    if ((info & (ALLBITS)) != 0)
      {
      repaint();
      return false;
      }
    else
      {
      return true;
      }
    }
  }

  1. Présentation et code | 2. Explications
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 



A VOIR EGALEMENT


Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages