bonjour à tous,
j'ai un problème d'alignement avec le boxLayout et j'aimerais savoir à quoi c'est du :
j'ai une JFrame utilisant un borderLayout et qui contient en son centre un gros pavé et dans la partie nord plusieurs composant (ici des boutons) que je voudrais aligné à gauche. Le problème est que mes boutons ne le sont pas toujours : dès que j'utilise un JPanel comme sous-panel de la partie nord, mes boutons ne sont plus aligné.
voici le code explicatif :
mon bouton "le bouton problématique" n'est pas aligné à gauche comme il se devrait, à contrario de la javadoc!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public static void main(String[] args) { JFrame jf = new JFrame(); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.getContentPane().add(creerPanel()); jf.pack(); jf.setVisible(true); } private static JPanel creerPanel() { JPanel jp = new JPanel(); jp.setLayout(new BorderLayout()); /* 1) on traite le nord du panel */ JPanel jpNord = new JPanel(); jpNord.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); jpNord.setLayout(new BoxLayout(jpNord,BoxLayout.PAGE_AXIS)); /* 1.1) */ JButton btn = new JButton("Le bouton problématique"); btn.setAlignmentX(JButton.LEFT_ALIGNMENT); // LEFT_ALIGNEMENT = 0.0 jpNord.add(btn); /* 1.2) */ JPanel sousJPanelNord = new JPanel(); sousJPanelNord.add(new JButton("Un bouton")); jpNord.add(sousJPanelNord); jp.add(jpNord,BorderLayout.NORTH); /* 2) on traite le centre du panel */ JTextArea jta = new JTextArea(10,50); jp.add(jta); return jp; }
merci d'avance
mobi
Partager