Problème de gridlayout

maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009 - 31 mai 2005 à 14:53
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009 - 31 mai 2005 à 15:35
Bonjour

J'ai un problème avec le GridLayout dans lequel je met un dérivé d'un Canvas pour afficher une liste de miniatures.
Je souhaite afficher mon tableau de 6*4 donc je fait comme ceci :

imageZone2.setLayout(new GridLayout(4,6)); //4lignes de 6colonnes

Mais quand je l'affiche, la première ligne se retrouve compressée en hauteur (1px), et s'ensuit un décalage.

Comment puis-je forcer mes composants à prendre une taille spécifique ?

2 réponses

maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009
31 mai 2005 à 15:19
Bon, le problème n'est pas résolu, mais j'ai trouvé ceci :

Quand j'ajoute mon imageZone2 à ma fenêtre, je met en layout null
(positionnement absolu, avec coords) et je le pose en 0,0. En mettant
un MouseMotionListener, je vient de m'apercevoir que le 0,0 affiché (le
coin supérieur gauche visible de mon imageZone2) correspond en fait à
3,29. Donc ma zone est décalée... Si je veux l'afficher en plein, je
dois la mettre en 3,29, et réduire ses dimensions en conséquence...

Est-ce qu'il y a une solution pour déterminer la taille de l'espace
intérieur d'une Frame, afin d'obtenir l'épaisseur de ses bordures ?
0
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009
31 mai 2005 à 15:35
Bon, bah j'ai trouvé



Un redimensionnement de ma fenêtre (Frame flying) en intégrant la
taille se ses bordures (Insets) me permet d'afficher correctement mes
composants.



flying.setVisible(true);


flying.setSize(flying.getWidth()+flying.getInsets().left+flying.getInsets().right,flying.getHeight()+flying.getInsets().top+flying.getInsets().bottom);



De ce fait, mon conteneur avec le GridBag s'affiche en plein.



Par contre, il me reste le problème de forcer mon GridBag à me mettre les cases vides (celles ne contenant pas de composant).
0
Rejoignez-nous