Tom's Guide > Forum > Programmation > [java - interface] le panel - position de composants

[java - interface] le panel - position de composants

Forum Programmation : [java - interface] le panel - position de composants

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Salut,

J'ai une JFrame (ma fenetre) avec un layout de type BorderLayout. Je place à l'interieur a gauche ("WEST" ), un panel de type GridBagLayout contenant (pour l'instant) de simple bouton l'un en dessous de l'autre.

Comment faire pour que l'ensemble des composants du GridBagLayout soit positionné en haut (j'ai essayé la contrainte anchor avec north mais ca ne marche pas) ?

Le probleme, c'est que mes boutons ne remplissant pas tout l'espace en hauteur dédié par la JFrame, ils se retrouvent au milieu.

(la fenetre est une fenetre option avec a gauche la liste des differents boutons et a droite, le contenu du panel correspondant au bouton que l'on a cliquer)

Voici un apercu de mon interface :
(en gris, la couleur de fond de mon panel gridbaglayout, il occupe donc tout l'espace qui lui est dedié)
http://img75.imageshack.us/img75/7118/java1hb.jpg

Merci d'avance
a+

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

J'ai contourné le probleme comme ceci :

J'ai mis mon panel (panelGBL) de layout gridbaglayout dans un panel (panelBL2) de layout borderlayout. le panelGBL est placé dans panelBL2 au Nord. Enfin mon panelBL2 est placé dans ma JFrame a gauche.

a+

Répondre à cbil

J'ai encore quelques soucis :

Dans la partie droite de ma JFrame, mon panel n'est pas aussi grand que l'espace qui lui ai dedié. je pourrais mettre un setSize a mon panel mais comment connaitre les dimensions de l'espace que mon panel peut remplir ?

Mon second probleme est que je souhaiterais que le texte de mon label titre soit centré......si j'applique un fill="horizontal" au label lors de l'ajout, le texte n'est pas centré, bien que le fond remplisse entierement l'espace qui lui ai dedié (ce qui ai voulu) mais comme dit precedemment, le fond n'occupe pas tout l'espace dedié (il occupe tout l'espace du panel gridbaglayout).

Pour centrer le texte, j'ai essayé monLabel.setAlignmentX(JComponent.CENTER_ALIGNMENT); mais ca ne marche pas.

Deux screens :
Image 1
Image 2

Je suis également aller sur cette page pour le texte :
Une page infos-du-net
Mais n'y a t-il pas plus simple ?

merci a+

Répondre à cbil

Pour le Label, il y a une méthode spécifique au label, car en fait ton label est suffisamment grand (avec le fill), c'est le texte du label qui n'est pas aligné. Essaie:

Code :
  1. monLabel.setHorizontalAlignment(CENTER);


Répondre à CRicky

ok merci.

je peux pas testé maintenant mais a mon avis ca va marcher ;-)

J'etais pas loin tout de meme, setAlignmentX - setHorizontalAlignment :-D

merci beaucoup, je testerais ca lundi

a+

Répondre à cbil

Pour l'alignement du label, ca marche, c bon merci.

Mais j'ai encore deux soucis, apres j'espere que ca sera bon lol !

Le premier concerne la panel qui n'occupe pas tout l'emplacement qu'il pourrait occupé.

Le deuxieme concerne mes boutons dont leur "case" dedié est de taille non égal. (le dernier a une case plus grande). Pour me visualiser, j'ai mis l'option BOTH du gridbaglayout pout les boutons.

Un screenshot

Merci d'avance
a+

Répondre à cbil

AS-tu mis un layout sur le parent du panel ? Je rappelle que pour l'élément racine JFrame, il y a la méthode setLayout() à utiliser avec le setRootPane().
pour les boutons, fixe les tailles avec setMaximumSize() et setPreferredSize() et mets des éléments vides:
http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html#space
L'exemple en lien montre l'utilisation de Box pour mettre un élément invisible, c'est mieux qu'un panel car il ne se réaffiche pas.

Répondre à CRicky

Ok merci ;)

Je vais regarder tout ca demain.
J'ai bien mis des setLayout partout (mon JFrame est en BorderLayout)

a+

Répondre à cbil
Tom's Guide > Forum > Programmation > [java - interface] le panel - position de composants
Aller à :

Il y a 867 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens