ang Afficher une image comme composant

Avatar de Michel Deriaz
Membre éprouvé
Mise à jour le 9 mars 2011  ·   Licence : Autre  ·   Téléchargé 220 fois   ·     Voir tous les téléchargements de l'auteur

CommentairesLa discussion sur le forum
Présentation
Cette classe permet d'afficher une image comme composant (extension de JPanel). Si l'image est plus petite que l'espace à disposition, elle sera centrée; dans le cas contraire l'image sera zoomée de telle manière à s'adapter et couvrir tout l'espace disponible. Cette classe fonctionne également si l'image se trouve empaquetée dans le même fichier jar que l'application.
Téléchargement
Compatibilité
 
  1.  
  2. // Updates: 2004.07.16
  3.  
  4.  
  5. import java.awt.*;
  6. import javax.swing.*;
  7.  
  8.  
  9. /**
  10.  * Displays a centered image in the available area. If the picture is too big
  11.  * (width or height), a zoom will be applied in order to show the full image.
  12.  * This class works also if the picture is in a jar file.
  13.  * @author Michel Deriaz
  14.  */
  15. public class Picture extends JPanel {
  16. private Image img;
  17.  
  18.  
  19. /**
  20.   * Loads the specified image, which must be a JPG, a GIF, or a PNG.
  21.   * @param file the file to load
  22.   */
  23. public Picture(String file) {
  24. img = new ImageIcon(getClass().getResource(file)).getImage();
  25. repaint();
  26. }
  27.  
  28.  
  29. public void paintComponent(Graphics g) {
  30. super.paintComponent(g);
  31. if (img == null) return;
  32. int w = img.getWidth(this);
  33. int h = img.getHeight(this);
  34. boolean zoom = (w > getWidth() || h > getHeight());
  35. if (zoom) g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
  36. else g.drawImage(img, (getWidth()-w)/2, (getHeight()-h)/2, this);
  37. }
  38. }
  39.  
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
 
 
 
 
Partenaires

PlanetHoster
Ikoula