微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 GroupLayout 时获取 InvalidateStateException

如何解决使用 GroupLayout 时获取 InvalidateStateException

我收到消息 Baseline must be used along vertical axis。我尝试使用所有枚举进行对齐,但无济于事,并确保所有组件都已添加到水平轴和垂直轴。

这里是异常链

在 javax.swing.GroupLayout$BaselineGroup.checkAxis(GroupLayout.java:2926) 在 javax.swing.GroupLayout$BaselineGroup.calculateSize(GroupLayout.java:2706) 在 javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602) 在 javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346) 在 javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1638) 在 javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1624) 在 javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602) 在 javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346) 在 javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1638) 在 javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1625) 在 javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602) 在 javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346) 在 javax.swing.GroupLayout$SequentialGroup.setValidSize(GroupLayout.java:2017) 在 javax.swing.GroupLayout$Group.setSize(GroupLayout.java:1587) 在 javax.swing.GroupLayout.calculateAutopadding(GroupLayout.java:1079) 在 javax.swing.GroupLayout.layoutContainer(GroupLayout.java:918) 在 java.awt.Container.layout(Container.java:1513) 在 java.awt.Container.doLayout(Container.java:1502) 在 java.awt.Container.validateTree(Container.java:1698) 在 java.awt.Container.validateTree(Container.java:1707) 在 java.awt.Container.validateTree(Container.java:1707) 在 java.awt.Container.validateTree(Container.java:1707) 在 java.awt.Container.validateTree(Container.java:1707) 在 java.awt.Container.validate(Container.java:1633) 在 java.awt.Container.validateUnconditionally(Container.java:1670) 在 java.awt.Window.pack(Window.java:818) 在 resumebuilder.ResumeBuilder.(ResumeBuilder.java:32) 在 resumebuilder.program.main(program.java:15)

这是代码

private void initComponents() {
    GroupLayout groupLayout = new GroupLayout(this);
    groupLayout.setautocreateGaps(true);
    groupLayout.setautocreateContainerGaps(true);

    jLabel1 = new JLabel("Name");
    jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);

    firstName = new JTextField(50);
    firstName.setToolTipText("First Name");

    lastName = new JTextField(50);
    lastName.setToolTipText("Last Name");

    jLabel2 = new JLabel("Address");
    jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);

    address1 = new JTextField(50);
    address1.setToolTipText("Address 1");

    address2 = new JTextField(50);
    address2.setToolTipText("Address 2");
    add(address2);

    toggleAddress3 = new javax.swing.JCheckBox();
    toggleAddress3.setText("Show third address");
    toggleAddress3.addMouseListener(new MouseListener() {
        @Override
        public void mouseClicked(MouseEvent e) {
            setToggle();
        }

        @Override
        public void mousepressed(MouseEvent e) {
        }

        @Override
        public void mouseReleased(MouseEvent e) {
        }

        @Override
        public void mouseEntered(MouseEvent e) {
        }

        @Override
        public void mouseExited(MouseEvent e) {
        }
    });

    address3 = new JTextField(50);
    address3.setToolTipText("Address 3");
    address3.setVisible(false);

    city = new JTextField(50);
    city.setToolTipText("City");

    state = new JTextField(10);
    state.setToolTipText("State");

    postalCode = new JTextField(25);
    postalCode.setToolTipText("Postal Code");

    jLabel3 = new JLabel("Gender");
    jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);
    add(jLabel3);

    String[] items = {"","Male","Female"};
    gender = new JComboBox<String>(items);
    gender.setToolTipText("Gender");

    jLabel4 = new JLabel("Date of Birth");
    jLabel4.setHorizontalAlignment(SwingConstants.RIGHT);

    dateOfBirth = new JSpinner();

    groupLayout.setHorizontalGroup(groupLayout.createParallelGroup()
        .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
            .addComponent(jLabel1)
            .addComponent(firstName)
            .addComponent(lastName))
        .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
            .addComponent(jLabel2)
            .addComponent(address1))
        .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
            .addComponent(toggleAddress3)
            .addComponent(address2))
        .addComponent(address3)
        .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
            .addComponent(city)
            .addComponent(state)
            .addComponent(postalCode))
        .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
            .addComponent(jLabel3)
            .addComponent(gender))
        .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
            .addComponent(jLabel4)
            .addComponent(dateOfBirth))
    );
    groupLayout.setVerticalGroup(
        groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
            .addGroup(groupLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(firstName,GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)
                    .addComponent(lastName,GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(groupLayout.createParallelGroup(
                    GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(address1)
                )
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel3)
                .addComponent(jLabel4))
            .addGroup(groupLayout.createSequentialGroup()
                .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(address2,GroupLayout.PREFERRED_SIZE)
                    .addComponent(toggleAddress3))
                .addComponent(address3,GroupLayout.PREFERRED_SIZE))
                .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(city,GroupLayout.PREFERRED_SIZE)
                    .addComponent(state,GroupLayout.PREFERRED_SIZE)
                    .addComponent(postalCode,GroupLayout.PREFERRED_SIZE))
                .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(gender))
                .addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(dateOfBirth))
    );
    setLayout(groupLayout);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。