Bonjour,
Je voudrais mettre une image en fond et par dessus un pleins de petites images.
Pour ce faire j'utilise un JLayeredPane dont la couche 0 est mon image, et la seconde couche est un JPanel.
Pour la seconde couche j'ai créé une classe MonJPanel étendant JPanel contenant un GridLayout dans lequel j'ajoute des images.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class MonJPanel extends JPanel { public static final int TAILLE = 7; private JLabel[][] grille = null; public MonJPanel() { super(new GridLayout(7, 7)); this.setPreferredSize(new Dimension(343, 343)); grille = new JLabel[TAILLE][TAILLE]; for (int i = 0 ; i < TAILLE ; i++) { for (int j = 0 ; j < TAILLE ; j++) { grille[i][j] = new JLabel(new ImageIcon(getClass().getResource("/algo/image.png"))); add(grille[i][j]); } } }Or toutes les images de MonJPanel sont superposées (en haut à gauche).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 MonJPanel pane = new MonJPanel(); JLayeredPane lpane = new JLayeredPane(); JLabel imageJeu = new JLabel(new ImageIcon(getClass().getResource("/algo/jeu.png"))); imageJeu.setBounds(0, 0, 343, 343); lpane.add(imageJeu, new Integer(0)); pane.setBounds(0, 0, 343, 343); lpane .add(plateau, new Integer(1));
Quand je n'ai qu'une seule couche ça marche trés bien, l'image s'affiche bien, mais lors de l'ajout de MonJPanel à lpane, on ne voit plus l'image.
J'aimerai savoir si vous aviez une idée de ce qui cloche, et si les JLayeredPane géraient la transparence.
Partager