Comment aligner tous les éléments à gauche dans JPanel?

j'aimerais que tous les éléments de mon JPanel soient alignés à gauche. J'essaie de le faire de la façon suivante:

JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.setAlignmentX(Component.LEFT_ALIGNMENT);

en conséquence, Java utilise le côté gauche de tous les éléments comme une position de l'élément et ensuite mettre tous les éléments au Centre (pas la partie gauche) du JPanel.

37
demandé sur Roman 2010-04-26 19:27:09

3 réponses

la façon la plus facile que j'ai trouvée pour placer des objets sur la gauche est D'utiliser FlowLayout.

JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));

ajouter un composant normalement à ce panneau le placera sur la gauche

85
répondu Chris 2011-07-06 18:37:59

Vous devez utiliser setAlignmentX(..) sur les composants que vous souhaitez aligner, pas sur le conteneur qui a eux..

JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(c1);
panel.add(c2);

c1.setAlignmentX(Component.LEFT_ALIGNMENT);
c2.setAlignmentX(Component.LEFT_ALIGNMENT);
12
répondu Jack 2010-04-26 15:29:23

ma méthode préférée serait la méthode BorderLayout. Voici les cinq exemples avec chaque position dans laquelle le composant pourrait aller. L'exemple est pour si le composant était un bouton. Nous allons l'ajouter à un Composite, p. Le bouton sera appelé b.

//To align it to the left
p.add(b, BorderLayout.WEST);

//To align it to the right
p.add(b, BorderLayout.EAST);

//To align it at the top
p.add(b, BorderLayout.NORTH);

//To align it to the bottom
p.add(b, BorderLayout.SOUTH);

//To align it to the center
p.add(b, BorderLayout.CENTER);

N'oubliez pas de l'importer en tapant:

import java.awt.BorderLayout;
0
répondu 2014-12-01 16:05:05