Bonjour,
je cherche un layout qui me permettrait de faire l'équivalent d'un FlowLayout mais en vertical.
un peu comme l'image ci dessus mais en faisant en sorte que tous les bouttons aient la largeur du plus grand.
Cordialement
trax
Bonjour,
je cherche un layout qui me permettrait de faire l'équivalent d'un FlowLayout mais en vertical.
un peu comme l'image ci dessus mais en faisant en sorte que tous les bouttons aient la largeur du plus grand.
Cordialement
trax
Le GridLayout prend toute la largeur possible
BoxLayout les cases ont pas la meme largeurs (du moins je n'y arrive pas)
J'ai trouvé une combinaisons de GridLayout et de FlowLayout :
Mais je trouve pas ça top :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 fen = new JFrame ("salut :)"); plip = new JButton("plip"); plup = new JButton("plup"); nos = new JPanel (new FlowLayout()); pan = new JPanel (new GridLayout(2,1)); pan.add (plip); pan.add (plup); nos.add(pan); fen.add(nos);
Utilise un GridBagLayout![]()
si j'ai rien oublier et j'ai pas fait de faute d'orthographe ca doit aller ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0; // gridy est par defaut sur RELATIVE. gbc.fill = GridBagConstraints.HORIZONTAL; GridBagLayout gbl = new GridBagLayout(); container.setLayout(gbl); gbl.setConstraints(gbc); container.add(button1); container.add(button2); container.add(button3); ...![]()
je viens de faire un exemple![]()
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 package faqs.q03; import java.awt.GridBagLayout; import java.awt.GridBagConstraints; import java.awt.Dimension; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JButton; /** * removed * @author bebe (bbclone@gmail.com) */ public class Q03b { private JFrame mainFrame = null; public Q03b() { mainFrame = new JFrame("..."); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /* 1- Initialisation du container. */ mainFrame.setLayout(new GridBagLayout()); /* 2- Création et initialisation d'une série de composants. */ String sentence = "Le GridBagLayout est un gestionnaire de placement"; String[] words = sentence.split(" "); JButton[] buttons = new JButton[words.length]; for (int i = 0; i < words.length; i++) { System.out.println(words[i]); buttons[i] = new JButton(words[i]); } /*3- Ajout de ces composants en spécifiant les contraintes de type GridBagConstraints. */ GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = GridBagConstraints.RELATIVE; gbc.fill = GridBagConstraints.HORIZONTAL; for (JButton button : buttons) { mainFrame.add(button, gbc); } mainFrame.setMinimumSize(new Dimension(400, 300)); mainFrame.setLocationRelativeTo(null); } public void setVisible(boolean b) { mainFrame.setVisible(b); } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { Q03b q03b = new Q03b(); q03b.setVisible(true); } }); } }
Partager