Comment rendre les composants de taille normale dans GroupLayout en Java
-
28-10-2019 - |
Question
J'essaie de créer une mise en page pour mon applet, mais je ne peux pas gérer un seul problème - certains des éléments (par exemple JComboBox) sont aussi gros qu'ils peuvent l'être - prennent tous place dans l'applet.La fonction setSize ne fonctionne pas.Que puis-je faire pour les rendre de taille normale?(certains éléments, par exemple JButtons et JLabels, ont des tailles correctes).
Mon code:
JPanel cp=new JPanel();
String[] s = new String[2];
s[0] = "Price";
s[1] = "Name";
JComboBox c = new JComboBox(s);
JProgressBar pb=new JProgressBar(17, 23);
pb.setValue(20);
pb.setStringPainted(true);
JLabel l=new JLabel("Name of product");
JButton b=new JButton("Send a message");
b.setEnabled(true);
cp.add(c);
cp.add(pb);
cp.add(l);
cp.add(b);
GroupLayout layout = new GroupLayout(cp);
cp.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER)
.addComponent(c)
.addComponent(pb)
.addComponent(l)
.addComponent(b))
);
layout.setVerticalGroup(
layout.createSequentialGroup()
.addComponent(c)
.addComponent(pb)
.addComponent(l)
.addComponent(b)
);
add(cp);
La solution
Essayez d'utiliser la méthode setPreferredSize()
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow