Image dans une JFrame

Résolu
cs_bygui Messages postés 51 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 16 juin 2008 - 16 nov. 2006 à 12:31
cs_bygui Messages postés 51 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 16 juin 2008 - 17 nov. 2006 à 09:36
Bonjour
Voila j'ai un JPanel contenant une image dans ma JFrame.
Le
probleme c'est que l'image ne s'affiche pas. Pour la voir il faut reduire la
fenêtre ou la réagrandir.

J'ai essayé repaint et revalidate sur la JFrame
mais il y a eu aucun effet.

Help me!!!!

4 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
16 nov. 2006 à 15:02
Salut,

te prend pas la tete 107 ans utilise un jlabel et met lui une image exemple :

import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Test extends JFrame{
    private static final long    serialVersionUID    = -1570645570118871214L;

    public Test(){
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(new Dimension(300, 300));
        setLocationRelativeTo(null);
        setContentPane(new JLabel(new ImageIcon("img.jpg")));
        getContentPane().setLayout(new FlowLayout());//pour pas heriter du layout BorderLayout
        getContentPane().add(new JButton("Test"));
    }
   
    public static void main(String[] args) {
        new Test().setVisible(true);
    }
}

apres si ton but est de toujours mettre l'image à la taille du composant :

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Test extends JFrame{
    private static final long    serialVersionUID    = -1570645570118871214L;

    public Test(){
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(new Dimension(300, 300));
        setLocationRelativeTo(null);
        setContentPane(new MLabel(new ImageIcon("img.jpg")));
        getContentPane().setLayout(new FlowLayout());//pour pas heriter du layout BorderLayout
        getContentPane().add(new JButton("Test"));
    }
   
    public static void main(String[] args) {
        new Test().setVisible(true);
    }
}

class MLabel extends JLabel{
    private static final long    serialVersionUID    = 7789322817356160777L;
    private Image                offScreenImage        = null;
   
    public MLabel(ImageIcon img){
        super(img);
    }
   
    public void paintComponent(Graphics g){
        ImageIcon im = (ImageIcon)getIcon();
        if(im != null){
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                    RenderingHints.VALUE_INTERPOLATION_BILINEAR);
            g2.setRenderingHint(RenderingHints.KEY_DITHERING,
                    RenderingHints.VALUE_DITHER_ENABLE);
            g2.drawImage(im.getImage(), 0, 0, getWidth(), getHeight(), this);
        }
        super.paintComponents(g);
    }
   
    /**
     * pour eviter les clignotemens
     */
    public void update(Graphics g) {
        if (offScreenImage == null)
            offScreenImage = createImage(getWidth(), getHeight());
        Graphics offGr = offScreenImage.getGraphics();
        g.drawImage(offScreenImage, 0, 0, this);
        paint(offGr);
    }
}

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

WORA
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 nov. 2006 à 13:00
essaye avec un updateUI()
0
cs_bygui Messages postés 51 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 16 juin 2008
16 nov. 2006 à 14:07
Non aucun effet...
Je ne sait vraiment pas quoi mettre pour corriger cette erreur!
0
cs_bygui Messages postés 51 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 16 juin 2008
17 nov. 2006 à 09:36
Je prend
0
Rejoignez-nous