Affichage image

juliox24 Messages postés 13 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 2 février 2008 - 29 nov. 2007 à 12:33
juliox24 Messages postés 13 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 2 février 2008 - 30 nov. 2007 à 11:59
Bonjour,

voilà, j'ai un problème, je n'arrive pas à ajouter plus d'une image dans un jPanel.
J'ai redéfini la fonction paint (). Llorsque je crée une image et que j' utilise cette
fonction, puis que je crée une deuxième image, la première image disparait. Existe-t-il
une méthode qui sauvegarde les images (dans un buffer)

Merci de votre aide

Juliox24

3 réponses

Utilisateur anonyme
29 nov. 2007 à 13:25
Montre ton code car je ne sais pas trop où tu veux en venir. Qu'entends-tu par créer une image? Tu fais un truc du genre Image image = new ImageIcon("/mon_repertoire/mon_image.JPG").getImage();  ??

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
29 nov. 2007 à 19:51
Salut,

déjà il faut oublier la méthode paint en SWING (tous les objets UI de javax.swing) et utilise la méthode 'paintComponent' à la place... ensuite cherche sur le forum ou les sources il y a la réponse à ton problème

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
juliox24 Messages postés 13 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 2 février 2008
30 nov. 2007 à 11:59
Voici mon source j'ai mis toutes mes classes dedans ... C'est dans la classe DessinerImage que j'ajoute mes images ...
Merci de votre aide

import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
import javax.swing.table.*;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;

import javax.swing.border.Border;

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

    public AffichageImage(String url, int lar , int lon)
    {
        image = getToolkit().getImage(url);
        prepareImage(image, this);
        largeur=lar;
        longueur=lon;
    }

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

public class DessineClasse extends JPanel
{
    
    
    private String adressedufichier = "I:\\Documents and Settings\\jul&isa\\Mes documents\\Projet\\sampledir\\level0.txt";
    private String data;
    private String datac;
    private String largeur="";
    private String longueur="";
    
    private static int position=0;
    private String carac="";
    private String carac2="";
    
    
    private int lar=0;
    private int lon=0;
    
    private String[] tab;
     
   // private JTable labyrinth;
    //private Table laby;
    
    /** Brique pleine */protected static ImageIcon brique_plein = new ImageIcon("/javaapplication1/briquebleu.JPG");
    /** Brique vide */protected static ImageIcon brique_vide = new ImageIcon("/javaapplication1/briquegrise.JPG");
    /** Calque de la fenetre */protected static GridLayout grid;
    
    private int posx;
    private int posy;
    
    private AffichageImage m_image;
    private AffichageImage m_image2;
   
    
    
    /**
     *Constructeur
     *@param NB_LGN Nombre de lignes
     *@param NB_COL Nombre de colonnes    
     */
    
    
    /** Creates a new instance of DessineClasse */
    public DessineClasse()
    {
        m_image = new AffichageImage("I:\\Documents and Settings\\jul&isa\\JavaApplication1\\src\\javaapplication1\\briquebleu.JPG",0,0);
        m_image2 = new AffichageImage("I:\\Documents and Settings\\jul&isa\\JavaApplication1\\src\\javaapplication1\\briquebleu.JPG",20,20);
        
       
        setimageafficher(m_image2);
        setimageafficher(m_image);
    }
}

public class Game extends javax.swing.JPanel
{

    private AffichageImage image;
    private DessineClasse ds;
    /** Creates new form Game */
    public Game() {
        initComponents();
        
    }
    
    private void initComponents()
    {
        jLabel1 = new JLabel();
        jLabel2 = new JLabel();
        m_panneau_dessin = new ZoneDeDessin();
        m_panneau_dessin.setOpaque(true);
        JPanel contentPane = new JPanel(new BorderLayout());
        contentPane.setOpaque(true);
        setLayout(null);
        setBackground(new java.awt.Color(0, 0, 0));
        setForeground(new java.awt.Color(255, 255, 255));
        m_panneau_dessin.setLayout(null);
        Border brd = BorderFactory.createMatteBorder(1, 1, 1, 1, Color.black);
        m_panneau_dessin.setBorder(brd);
        
        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("pecmancotetext.JPG")));
        jLabel1.setText("jLabel1");
        add(jLabel1);
        jLabel1.setBounds(750, 30, 340, 100);

        jLabel2.setFont(new java.awt.Font("Comic Sans MS", 0, 36));
        jLabel2.setForeground(new java.awt.Color(255, 255, 255));
        jLabel2.setText("SCORE :");
        add(jLabel2);
        jLabel2.setBounds(720, 190, 370, 40);
        
        ds = new DessineClasse();
        image = ds.getimageafficher();        
        
        m_panneau_dessin.add(image);
        image.setBounds(50, 50, 500, 500);
        
        m_panneau_dessin.setOpaque(true);
        add(m_panneau_dessin);
       
    }
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private JLabel jLabel1;
    private JLabel jLabel2;
    private ZoneDeDessin m_panneau_dessin;
    // End of variables declaration//GEN-END:variables
    
}
public class Test extends JFrame {
    
    private static sound player = new sound("I:\\Documents and Settings\\jul&isa\\Mes documents\\Projet\\sampledir\\introduction.wav");
    private static InputStream stream = new ByteArrayInputStream(player.getSamples());
    private Container contain;
    
    
    /** Creates new form Test */
    public Test() {
   
        contain = getContentPane();
        initComponents();
        GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
        this.setExtendedState(this.getExtendedState() | this.MAXIMIZED_BOTH);
        setBackground(new java.awt.Color(255, 255, 255));
        setForeground(java.awt.Color.white);
      
    }
        private void initComponents() {
        jPanel1 = new javax.swing.JPanel();

        jButton1 = new javax.swing.JButton();

        getContentPane().setLayout(null);
        setTitle("PAC_JAVA_MAN");
        setBackground(new java.awt.Color(255, 255, 255));
        setForeground(java.awt.Color.white);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jPanel1.setLayout(null);

        jPanel1.setBackground(new java.awt.Color(255, 255, 255));
   
        jButton1.setText("1 Player");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jPanel1.add(jButton1);
        jButton1.setBounds(30, 520, 190, 40);

        getContentPane().add(jPanel1);
        jPanel1.setBounds(0, 0, 711, 583);

        pack();
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed

        jPanel1.setVisible(false);  
            
        Game g = new Game();
              
        contain.add(g);
        
        g.setBounds(0, 0, 2000, 2000);
   
    }
    
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
        System.exit(0);
    }
    

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        //JFrame.setDefaultLookAndFeelDecorated(true);
        //new Test().show();
        Test t = new Test();
        t.pack();
        t.setVisible(true);
        player.play(stream);
    }
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration//GEN-END:variables
    
}
0
Rejoignez-nous