Java

Bonjour,je veux savoir qu'est ce qu'elle fait cette classe?
merci d'avance

import javax.swing.*;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import java.awt.Graphics;
import java.awt.Graphics2D;

/**
* <p>Titre : </p>
*
* <p>Description : </p>
*
* <p>Copyright : Copyright (c) 2005</p>
*
* <p>Société : </p>
*
* @author non attribuable
* @version 1.0
*/
public class CImagePanel extends JPanel {
Image m_Img ;
boolean m_bRedimensionne ;

public CImagePanel() {
m_Img = null ;
m_bRedimensionne = false ;
}

public void SetImage(Image img, boolean bRedimensionne) {
m_bRedimensionne = bRedimensionne ;
m_Img = img ;
repaint() ;
}

public void paint(Graphics g) {
int X ;
int Y ;

g.clearRect(0, 0, this.getWidth(), this.getHeight());
if (m_Img != null) {
if (m_bRedimensionne != true) {
X = (this.getWidth() - m_Img.getWidth(null)) / 2 ;
Y = (this.getHeight() - m_Img.getHeight(null)) / 2 ;
if((X > 0) && (Y > 0))
g.drawImage(m_Img, X, Y, this);
else
g.drawImage(m_Img, 0, 0, this);

}
else {
g.drawImage(m_Img, 0, 0, this.getWidth(), this.getHeight(), null);
}
}
g.dispose();
}
}
Configuration: Windows XP
Firefox 1.0

2 réponses

  1. salut
    vu vite fait ça a l air d être un composant pour afficher une image et la redimensionner si besoin est.
    1. salut
      un autre classe je veux savoir les fonctionalités de ces deux classes et le difference entre eux
      merci et merci
      import java.applet.*;
      import java.awt.*;

      public class threadAffiche extends Applet implements Runnable {
      Image[] images = new Image[2];
      int frame = 0;
      Thread thread;

      public void init() {
      images[0] = getImage(getDocumentBase(), "image1.jpg");
      images[1] = getImage(getDocumentBase(), "image2.jpg");
      }
      public void start() {
      (thread = new Thread(this)).start();
      }
      public void stop() {
      thread = null;
      }
      public void paint(Graphics g) {
      g.drawImage(images[frame], 0, 0, this);
      }
      public void run() {
      int delay = 1000; // 1 seconde
      try {
      while (thread == Thread.currentThread()) {
      frame = (frame+1)%images.length;
      repaint();
      Thread.sleep(delay);
      }
      } catch (Exception e) {
      }
      }
      }

      2 éme classe:

      import javax.swing.*;
      import java.awt.*;
      import java.awt.image.* ;

      import javax.imageio.ImageIO;
      import java.io.*;
      import javax.swing.border.TitledBorder;
      import java.awt.event.MouseEvent;
      import java.awt.event.MouseAdapter;

      class MonThread extends Thread {
      public BufferedImage m_BufferImage ;
      CTreeFolder m_TreeFolder;
      CImagePanel m_ImagePanel;
      boolean stop = true;
      MonThread(CTreeFolder m_TreeFolder, CImagePanel m_ImagePanel) {
      this.m_TreeFolder = m_TreeFolder;
      this.m_ImagePanel = m_ImagePanel;
      }

      public void run() {

      int delay = 1000; // 2 seconde
      int i=0;
      try {
      while (this == Thread.currentThread() && stop ) {
      //DefaultListModel dList = new DefaultListModel();
      //dList = m_TreeFolder.list;
      i = (i+1)%m_TreeFolder.nbre;
      File file = (File)m_TreeFolder.list.getModel().getElementAt(i) ;
      m_BufferImage = ImageIO.read(file);
      //repaint();

      m_ImagePanel.SetImage(m_BufferImage, true);
      Thread.sleep(delay);
      }
      }
      catch(Exception e)
      {
      m_BufferImage = null;
      System.err.println("Fichier invalide");
      }

      }
      }