Как сделать компоненты нормального размера в GroupLayout в Java - PullRequest
0 голосов
/ 16 июня 2011

Я пытаюсь создать макет для своего апплета, но я не могу решить одну проблему - некоторые элементы (например, JComboBox) настолько велики, насколько это возможно - занять все место в апплете.Функция setSize не работает.Что я могу сделать, чтобы они были нормального размера?(некоторые элементы, например, JButtons и JLabels имеют правильные размеры).

Мой код:

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

1 Ответ

0 голосов
/ 16 июня 2011

Попробуйте использовать метод setPreferredSize().

...