GroupLayout дает ошибку с Java Swing - PullRequest
7 голосов
/ 14 января 2011

Я получаю длинный список ошибок.Может кто-нибудь предложить мне, где я иду не так с GroupLayout.

layout.setHorizontalGroup(
    layout.createSequentialGroup()
        .addComponent(new JLabel("Enter Book Name"))
        .addComponent(new JTextField("TextField", 20))
);

Ошибка:

    Exception in thread "main" java.lang.IllegalStateException:
        javax.swing.JTextField[,0,0,0x0,invalid,layout=javax.swing.
            plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,
            alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$
            CompoundBorderUIResource@3d0bbf9e,flags=296,maximumSize=,
            minimumSize=,preferredSize=,caretColor=sun.swing.
            PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax
            .swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true
            ,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,
            bottom=0,right=0],selectedTextColor=sun.swing.
            PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.
            swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=20,
            columnWidth=0,command=,horizontalAlignment=LEADING]
            is not attached to a vertical group
            at javax.swing.GroupLayout.checkComponents(Unknown Source)
            at javax.swing.GroupLayout.prepare(Unknown Source)

1 Ответ

14 голосов
/ 13 февраля 2011

Когда вы используете GroupLayout, вы должны указать горизонтальный и вертикальный макет.Каждый компонент должен быть указан ровно один раз в каждой группе.Невыполнение этого вызывает эту ошибку.

Кроме того, убедитесь, что вы правильно пересекаете каждый элемент.Если вы создаете сетку, убедитесь, что оба направления являются последовательностями параллелей или наоборот.Если вы делаете один ряд кнопок или что-то еще, убедитесь, что они параллельны в одну сторону, а последовательные - в другую.

...