Pb GridLayout et JLayeredPane
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:
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]);
}
}
} |
Code:
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)); |
Or toutes les images de MonJPanel sont superposées (en haut à gauche).
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.