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.
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
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);
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;