Peut on définir la largeur d'un FlowLayout ?

Résolu
azerty_qwerty Messages postés 61 Date d'inscription vendredi 23 mars 2018 Statut Membre Dernière intervention 6 décembre 2022 - 25 juin 2018 à 01:19
azerty_qwerty Messages postés 61 Date d'inscription vendredi 23 mars 2018 Statut Membre Dernière intervention 6 décembre 2022 - 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);

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
25 juin 2018 à 08:32
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.
0
azerty_qwerty Messages postés 61 Date d'inscription vendredi 23 mars 2018 Statut Membre Dernière intervention 6 décembre 2022
25 juin 2018 à 15:02
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);
0
Rejoignez-nous