Affichage image en arrière plan d'un JPanel

Résolu
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013 - 5 juin 2012 à 11:08
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013 - 5 juin 2012 à 11:38
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

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
5 juin 2012 à 11:14
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
3
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
5 juin 2012 à 11:31
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 ?
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
5 juin 2012 à 11:38
C'est bon, j'ai compris comment m'en servir.
Merci beaucoup.
0
Rejoignez-nous