Java -- JLayeredPane

Résolu/Fermé
Sarvock Messages postés 20 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 3 mai 2010 - 3 mai 2010 à 00:06
Sarvock Messages postés 20 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 3 mai 2010 - 3 mai 2010 à 00:32
Bonjour à tous,

Bon voilà j'ai un problème pour superposer deux JPanel dans un JLayeredPane, j'ai regardé pas mal de truc sur internet mais rien ne résout mon problème => soit les deux JPanel se mettent côte à côte soit il y a rien qui s'affiche.

Voilà un bout de code

 //Ajout des cases au plateau
		plateau.setPreferredSize(new Dimension(800,600)); 
		//plateau.setLayout(new GridLayout());
                plateau.setBounds(0, 0, tray.getHeight()*50, tray.getLarge()*50);
		plateau.add(tray.paintComponent(), new Integer(0));
		plateau.add(bot,new Integer(1)) 


sachant que tray.paintComponent() renvoie un JPanel qui est définit comme suit :
 
    this.panelCase = new JPanel();
    this.panelCase.setLayout (new GridLayout (this.large,this.height)); //=>(8,8)


et j'ajoute des JLabel (contenant des image de 50*50pixels) au JPanel. C'est à peu près pareil pour 'bot' => le principe, je veux mettre mon robot (bot) au dessus du plateau de jeux (panelCase) donc pour 'bot' je créer le même panel avec des JLabel vides sauf la "case" où se trouve le robot...

voilà j'espère que j'ai mis suffisamment de code et d'explications.

Vous avez sûrement remarqué le commentaire dans le code du début, je m'explique, si je laisse tel quel, lorsque je lance l'application, ma fenêtre contenant le 'plateau' prend bien la taille "préférée"* mais rien dedans, si j'enlève le commentaire sur le 'setLayout' la fenêtre s'affiche avec les deux JPanel l'un à côté de l'autre. J'ai essayé avec d'autres Layout, même résultat.


*En fait, si je mets pas "plateau.setPreferredSize(new Dimension(800,600));" ma fenêtre est réduit au minimum

Visiblement, il faut éviter de définir un Layout, mais comment faire pour que mes JPanel s'affiche dans ce cas là?!


Merci d'avance pour votre aide.


A voir également:

1 réponse

Sarvock Messages postés 20 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 3 mai 2010 11
3 mai 2010 à 00:32
Bon, en fait j'ai trouvé tout seul!

En regardant d'autres topic je pensais qu'il fallait absolument définir le 'setBounds(position_x, position_y, largeur_x, largeur_y)' pour le dit 'JLayeredPanel', mais en fait, mon problème venait de mes JPanel, dans lesquelles je n'avais pas définit ce 'setBounds(...)', maintenant, les deux panel s'affiche bien l'un sûr l'autre.

Merci quand même,
en espérant que cela pourra servir à quelqu'un...
6