Bonjour à tous,
1/ ce qui fonctionne bien
j'ai réalisé une interface graphique qui divise mon contenpane en trois zones :
un panneau jaune en bas, un panneau orange à droite, et le reste du contentpane reste en bleu.
le code partiel est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // FONCTION AJOUT DES DEUX PANNEAUX public void ajout_panneaux() { configurer_pgauche(); // définit les affichages à GAUCHE contentpane.add(pGauche, BorderLayout.EAST); configurer_pBas(); // définit les affichages en BAS contentpane.add(pBas, BorderLayout.SOUTH); Main_32.mafenetre.repaint(); }
Quand je clique sur le choix de la grille en 3x3, je calcule la surface restante (zone bleue, je met en place ma grille qui s'affiche et prend l'espace restant au centre :
2/ Ce qui bugge un peu
En fait, moi je souhaiterais que le panneau vertical soit à gauche, plutôt qu'à droite, j'ai donc simplement changé le code ainsi :
Quand je lance, tout est ok, les deux panneaux sont bien placés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 configurer_pgauche(); // définit les affichages à GAUCHE contentpane.add(pGauche, BorderLayout.WEST);
Le problème, c'est que quand j'affiche ma grille, la position "Center" semble être calculée à partir du borde gauche du contentPane, sans tenir compte qu'il y a un panneau déja présent sur ce bord, et donc, il me manque à droite, la largeur de ma grille qui semble cachée sous le panneau vertical. C'est d'ailleurs pour cela je pense, qu'il me manque cette largueur pour couvrir le bleu à droite.
De plus, si je demande un "repaint" en changeant à peine la dimension de la fenêtre, tout rentre dans l'ordre et la grille en gris , couvre bien la zone "Center" du content pane.
Cependant, cela est un peu décevant car l'effet d'affichage initial nickel, sans zone bleu, est plutôt raté, et j'aimerais bien comprendre pourquoi l'affichage est parfait avec le panneau vertical coté "WEST" et se trouve déstabilisé en préférant le placer du coté "EAST"??
En espérant avoir été clair, si vous avez rencontré ce genre de déconvenue, merci de votre aide.....
Partager