Ajuda com minha Agenda

5 respostas
D

Olá pessoal, ja postei aqui algumas duvidas e fui prontamente atendido… agora gostaria que me ajudassem novamente.

Estou fazendo uma Agenda para um trabalho da faculdade, porém estou com problemas ao tentar abrir uma nova janela…

Ja tenho uma janela “Cadastrar”, ela abre normalmente quando clico no botão, agora quando eu tento abrir a janela “Grupos” ele da o seguinte erro:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: GroupLayout can only be used with one Container at a time at org.jdesktop.layout.GroupLayout.checkParent(GroupLayout.java:862) at org.jdesktop.layout.GroupLayout.invalidateLayout(GroupLayout.java:766) at java.awt.Container.invalidate(Container.java:1417) at java.awt.Component.addNotify(Component.java:5879) at java.awt.Container.addNotify(Container.java:2493) at javax.swing.JComponent.addNotify(JComponent.java:4469) at java.awt.Container.addNotify(Container.java:2500) at javax.swing.JComponent.addNotify(JComponent.java:4469) at java.awt.Container.addNotify(Container.java:2500) at javax.swing.JComponent.addNotify(JComponent.java:4469) at javax.swing.JRootPane.addNotify(JRootPane.java:680) at java.awt.Container.addNotify(Container.java:2500) at java.awt.Window.addNotify(Window.java:466) at java.awt.Frame.addNotify(Frame.java:501) at java.awt.Window.show(Window.java:513) at java.awt.Component.show(Component.java:1300) at java.awt.Component.setVisible(Component.java:1253) at Botoes$3.actionPerformed(Botoes.java:67) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234) at java.awt.Component.processMouseEvent(Component.java:5488) at javax.swing.JComponent.processMouseEvent(JComponent.java:3126) at java.awt.Component.processEvent(Component.java:5253) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3955) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1774) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Esse erro aparece em tempo de execução, assim que eu clico no botão "Grupos"que esta na tela principal.

Bom, o arquivo do programinha esta aqui: http://www.unimep.br/~dabertelli/Agenda%20Eletronica.zip

QUem tiver tempo de ver, por favor, me ajude!!

PS: Tem um monte de arquivos inuteis no meio, não liguem xD

5 Respostas

C

Essa exceção se dá por: em um método foi passado um argumento ilegal ou inapropriado.

D

Erm… desculpe a ignorancia, mas o que isso quer dizer afinal??
O que eu não deveria ter feito??

Obrigado.

BrunoBastosPJ

cola sua classe Botoes ai :wink:

D
Ta ai 8O
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Botoes extends JFrame {
    
    public void BotaoCadastra() {
        setLayout( new FlowLayout() ); // configura o layout do frame.
        Icon icone1 = new ImageIcon( getClass().getResource("icon1.gif"));
        JButton botao1 = new JButton("Cadastrar Contatos", icone1); //configura botao de cadastro de contatos
        botao1.setRolloverIcon(icone1);
        add( botao1 ); //adiciona o botao 1
        
        botao1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Cadastrar cadastrar = new Cadastrar();
                cadastrar.setResizable(false);
                cadastrar.setTitle("Cadastro de Contatos");
                cadastrar.setLocationRelativeTo(null);
                cadastrar.setVisible(true);
                
                
            }
        });
        
    }
    
    public void BotaoEditar() {
        setLayout( new FlowLayout() ); // configura o layout do frame.
        Icon icone2 = new ImageIcon( getClass().getResource("icon2.gif"));
        JButton botao2 = new JButton("Editar Contatos", icone2); //configura botao de cadastro de contatos
        botao2.setRolloverIcon(icone2);
        add( botao2 ); //adiciona o botao 2
    }
    
    public void BotaoVisualiza() {
        setLayout( new FlowLayout() ); // configura o layout do frame.
        Icon icone3 = new ImageIcon( getClass().getResource("icon3.gif"));
        JButton botao3 = new JButton("Visualizar Contatos", icone3); //configura botao de cadastro de contatos
        botao3.setRolloverIcon(icone3);
        add( botao3 ); //adiciona o botao 3
        
        botao3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Contato c = new Contato();
                c.imprimirContato();
                
                
            }
        });
    }
    
    public void BotaoGrupos() {
        setLayout( new FlowLayout() ); // configura o layout do frame.
        Icon icone4 = new ImageIcon( getClass().getResource("icon4.gif"));
        JButton botao4 = new JButton("Grupos", icone4); //configura botao de cadastro de contatos
        botao4.setRolloverIcon(icone4);
        add( botao4 ); //adiciona o botao 4
        
        botao4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Group grupo = new Group();
                grupo.setResizable(false);
                grupo.setTitle("Grupos");
                grupo.setLocationRelativeTo(null);
                grupo.setVisible(true);
            }
        });
    }
    
    public void BotaoSair() {
        setLayout( new FlowLayout() ); // configura o layout do frame.
        Icon icone5 = new ImageIcon( getClass().getResource("icon5.gif"));
        JButton botao5 = new JButton("Sair", icone5); //configura botao de cadastro de contatos
        botao5.setRolloverIcon(icone5);
        add( botao5 ); //adiciona o botao 5
        
        botao5.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                System.exit(0);
            }
        });
    }
    
}
BrunoBastosPJ

Não tenho certeza que é isso, mas vamos lá.Pelo que li sobre JFrames, parece que o layout padrão e não sei realmente se é o único é o BorderLayout, ali você está setando o layout do JFrame para FlowLayour, mas eu acho que ele não funciona como FlowLayout… Para você usar um FlowLayout você tem que usar um JPanel e adicionar esse Panel no frama usando BorderLayout. Pra começar tenta assim, apaga as linhas que você da um setLayout e tenta rodar… Se der um erro diferente já é um bom começo :wink:

Criado 29 de setembro de 2006
Ultima resposta 6 de out. de 2006
Respostas 5
Participantes 3