Erro com Event ao tentar criar itens no JFrame

4 respostas
G
public void actionPerformed(ActionEvent e) {
        JPanel painel = new JPanel();
        JComboBox comboBox = new JComboBox();
        JTextField campoDeTexto = new JTextField();
        JButton ce = new JButton();

        if (e.getSource() == jButton1) {
            String item = jComboBox1.getSelectedItem().toString();
            if(item.equals("Cadastrar Disciplina")) {
                    System.out.println("Cadastro Disciplina");
                    painel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Cadastro de Disciplina", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11), new java.awt.Color(0, 153, 204))); // NOI18N
                    ce.setText("Cadastrar");

                    javax.swing.GroupLayout painelLayout = new javax.swing.GroupLayout(painel);
                    painel.setLayout(painelLayout);
                    painelLayout.setHorizontalGroup(
                        painelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(painelLayout.createSequentialGroup()
                            .addContainerGap()
                             .addGroup(painelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(campoDeTexto, javax.swing.GroupLayout.PREFERRED_SIZE, 193, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(ce, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(152, Short.MAX_VALUE))
                );
                    painelLayout.setVerticalGroup(
                    painelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(painelLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(campoDeTexto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(ce)
                        .addContainerGap(28, Short.MAX_VALUE))
                );
            }
            else if(item.equals("Cadastrar Tópico")) {

            }
            else if(item.equals("Cadastrar Item")) {

            }
            else if(item.equals("Cadastrar SubItem")) {

            }
            else if(item.equals("Cadastrar Detalhe")) {

            }
            else if(item.equals("Cadastrar Questão")) {

            }
            else if(item.equals("Editar Disciplina")) {

            }
            else if(item.equals("Editar Tópico")) {

            }
            else if(item.equals("Editar Item")) {

            }
            else if(item.equals("Editar SubItem")) {

            }
            else if(item.equals("Editar Detalhe")) {

            }
            else if(item.equals("Cadastrar Questão")) {

            }

            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addComponent(painel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE))
            );
        }
    }
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: javax.swing.JPanel[,0,0,0x0,invalid,layout=javax.swing.GroupLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.TitledBorder@df8ff1,flags=9,maximumSize=,minimumSize=,preferredSize=] is not attached to a horizontal group at javax.swing.GroupLayout.checkComponents(GroupLayout.java:1065) at javax.swing.GroupLayout.prepare(GroupLayout.java:1019) at javax.swing.GroupLayout.layoutContainer(GroupLayout.java:889) at java.awt.Container.layout(Container.java:1421) at java.awt.Container.doLayout(Container.java:1410) at java.awt.Container.validateTree(Container.java:1507) at java.awt.Container.validateTree(Container.java:1513) at java.awt.Container.validateTree(Container.java:1513) at java.awt.Container.validate(Container.java:1480) at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:670) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

O que há de errado?

4 Respostas

ViniGodoy

Que código medonho.

G

é do Netbeans o groupLayot e talz, mas qual o problema que causa o erro?

G

O que eu quero fazer: Quando eu clicar no botão, checar o item no combo box, e adicionar uns itens do swing ao JFrame, isso é possível?

M

O erro indica que o código de leiaute que o NetBeans gerou não está funcionando…

Deixe toda a interface pronta em um JPanel e adicionada ao JFrame. Quando clicar no botão apenas mostre o JPanel (setVisible(true)).

Criado 18 de fevereiro de 2010
Ultima resposta 18 de fev. de 2010
Respostas 4
Participantes 3