Компоненты отображаются друг на друга с помощью GroupLayout - PullRequest
1 голос
/ 03 января 2012

Я пытаюсь научиться использовать GroupLayout в Java Swing.

Прежде всего, я просто хочу сделать сетку из JLabels.

Проблема, с которой я столкнулся, заключается в том, что JLabelsвизуализируются непосредственно друг над другом (то есть в одном и том же месте, так что одно заслоняет другое).

Ниже приведен мой код для того, что должно быть 3 JLabels в столбце:

layout.setHorizontalGroup(
    layout.createSequentialGroup()
        .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addComponent(one)
            .addComponent(two)
            .addComponent(three))
);
layout.setVerticalGroup(
    layout.createParallelGroup(GroupLayout.Alignment.LEADING)
        .addComponent(one)
        .addComponent(two)
        .addComponent(three)
);

Как правильно расположить этикетки.

Спасибо

1 Ответ

4 голосов
/ 03 января 2012

В вертикальной компоновке вы также строите параллельную группу, которая должна быть последовательной (вы не хотите различать строки и не все в одном).

layout.setVerticalGroup(
    layout.createSequentialGroup()
    .addComponent(one)
    .addComponent(two)
    .addComponent(three)
);

Примечание: для этого примера выТакже не требуется последовательная группа в горизонтальной разметке.

...