Affichage image en arrière plan d'un JPanel [Résolu]

Signaler
Messages postés
141
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
3 avril 2013
-
Messages postés
141
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
3 avril 2013
-
Bonjour,

j'aimerai afficher une image de fond dans un JPanel avec un layout null.

Lorsque je l'affiche, elle passe par dessus tout le reste et n'est pas en fond.
Voici le code que j'utilise pour l'afficher :
private JLabel imageFond = new JLabel(new ImageIcon( "image.JPG"));
 
imageFond.setBounds(0, 0, 500, 300);
panelPrincipal.add(imageFond);


Pourtant, je la mets directement après la création du JPanel et avant d'appeler les autres composants.

Savez-vous d'où peut venir le problème ?

Merci.
Bonne journée.

3 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
350
Salut,

C'est normal, pour t'en sortir, tu peux regarder cette source : http://www.javafr.com/codes/AFFICHER-IMAGE-ARRIERE-PLAN-DANS-JPANEL_54144.aspx
Messages postés
141
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
3 avril 2013

Merci pour la réponse.

J'ai l'impression que la partie du code dont je devrai me servir est :
public void paintComponent(Graphics g){
if(image!=null){
Graphics2D g2d = (Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2d.drawImage(image, 0, 0, getWidth(), getHeight(), null);
}
} 


Du coup, j'imagine qu'il faut quelque part appeler la méthode paintComponent mais je ne vois pas comment et je ne comprend pas ce qu'est Graphics g ni pourquoi utiliser Graphics2D .

Ceci me parait compliqué juste pour afficher une image en fond non ?
Messages postés
141
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
3 avril 2013

C'est bon, j'ai compris comment m'en servir.
Merci beaucoup.