Peut on définir la largeur d'un FlowLayout ? [Résolu]

Messages postés
38
Date d'inscription
vendredi 23 mars 2018
Dernière intervention
3 décembre 2018
- - Dernière réponse : azerty_qwerty
Messages postés
38
Date d'inscription
vendredi 23 mars 2018
Dernière intervention
3 décembre 2018
- 25 juin 2018 à 15:02
J'ai décidé de positionner des composants (JCombo, Jtextpane) avec un flowlayout. J'ai défini la taille de mon flowlayout.

je souhaite positionner mon flowlayout avec un gridbaglayout.
Malheureusement, la taille du flowlayout n'est pas pris en considération. Le flowlayout est sur toute la largeur de la frame. Une idée ? Merci.



public static void addComponentsToPane (Container pane)
{
if (RIGHT_TO_LEFT) {
pane.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
}
Dimension tailleMoniteur2 = Toolkit.getDefaultToolkit().getScreenSize();
int longeurCell1 = tailleMoniteur2.width / 3 ;

Panel panneau = new Panel(new FlowLayout());
panneau.setBackground(Color.green);
panneau.setSize(longeurCell1, tailleMoniteur2.height);

.....

pane.setBackground(Color.red);
pane.setSize(longeurCell1, hauteurCell1);
GridBagConstraints c = new GridBagConstraints();
c.anchor = GridBagConstraints.FIRST_LINE_START;
c.insets = new Insets(5,10,0,10); //top padding Insets(int top, int left, int bottom, int right)
c.weightx = 1;
c.weighty = 1;
c.gridx = 0;
c.gridy = 0;

pane.add(panneau,c);

Afficher la suite 

Votre réponse

2 réponses

Messages postés
15858
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
11 décembre 2018
0
Merci
Bonjour,

En général quand on commence à manipuler des Layout c'est pour avoir des tailles dynamiques, pas pour les fixer, même si on peut bien sûr faire un mix des deux...

Ici tu pourrais mettre un Panel dans ton GridBagLayout, le Panel va prendre toute la place, mais tu lui défini un Layout null pour lui ajouter ton FlowLayout à la taille que tu veux.
Commenter la réponse de KX
Messages postés
38
Date d'inscription
vendredi 23 mars 2018
Dernière intervention
3 décembre 2018
0
Merci
Super, merci KX
Voici le code ci-dessous pour les intéressés :



Panel positionGauche = new Panel() ;
positionGauche.setLayout(null);

pane.setBackground(Color.red);
pane.setSize(longeurCell1, tailleMoniteur2.height);
GridBagConstraints c = new GridBagConstraints();
c.anchor = GridBagConstraints.FIRST_LINE_START;
c.insets = new Insets(5,10,0,10); //top padding Insets(int top, int left, int bottom, int right)
c.weightx = 1;
c.weighty = 1;
c.gridx = 0;
c.gridy = 0;
positionGauche.add(panneau);
pane.add(positionGauche,c);
Commenter la réponse de azerty_qwerty

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.