ang Afficher une image comme composant

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

Commentaires La 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
  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