Ajuda com minha Agenda

Bom pessoal, estou fazendo um trabalho da faculdade e gostaria de algumas ajudinhas.

Eu estou fazendo uma Agenda Eletronica, fiz a classe principal que carrega a janela com os botoes e tals… mas eu queria agora fazer o botão “Cadastrar Contato” chamar uma nova janela com um formulario para preenchimento de dados… mas eu naum sei como fazer isso :cry:
Eu sei apenas instanciar um contato pronto dentro do codigo… se fosse em modo texto eu até sei… mas no modo gráfico eu sei mto poko ainda…
Eu naum sei se preciso criar uma nova classe em um arquivo novo ou posso criar dentro de contatos msm… mas ae eu naum sei chamar la no botao pra quando clicar funcionar.

O link do arquivo está aqui pra quem quiser me ajudar: http://www.worldofgames.com.br/trabalhos/Agenda%20Eletronica.zip

Quem quiser mudar alguma coisa fique a vontade, mas depois me explica :wink:

Obrigado pessoal…
[]'s

Posta ai o teu código do botão… Tipo geralmente os exemplos que tem na net existe um método chamadoo createAndShowGUI() privado e estático. Para chamar você pode transformar esse método em público e botar a chamada dele dentro do botão… Por exemplo…

Olá DarkWog, vc pode fazer um novo frame com a interface desejada e apartir do seu actionPerformed você a chama:

Ex: Cadastro.java

 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 java.awt.event.ActionListener()
            {
                public void actionPerformed(java.awt.event.ActionEvent evt)
                {
                    Cadastro cadastro = new Cadastro();//novo frame de cadastro
                    cadastro.setVisible(true); //abrir o frame quando clicar
                }
            });

        }

BOA!!.. vlw cara, consegui aqui…
Vou construindo aqui qualquer coisa posto aqui…

vlwss []'s

Bom, eu estou conseguindo fazer as coisas aqui funcionarem… mas eu ainda tenho uma duvida…

Deixa eu ver se consigo explicar:
Eu tenho uma janela grafica que está salva como Cadastrar.java, la eu tenho um textfield "Nome: " eu gostaria de armazenar o conteudo do que é digitado nesse campo em uma variavel do tipo String, chamada nome que esta dentro de Contato.java

Tem como?
Eu tenho um botao salvar que quando fosse clicado ele salvava…
Tenho varios outros campos tbm como telefone, endereço e tals…

futuramente eu gostaria de salvar tudo isso em banco de dados… ae queria facilitar minha vida tbm…

Obrigado

Tenho como colocar um no objeto nome da classe Contato sim…

        btn1 = new JButton("Cadastrar");
        btn1.setBounds(110,250,100,25); 
        btn1.addActionListener(
            new java.awt.event.ActionListener() {

                Contato contato = new Contato();
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    contato.setNome(txt1.getText());           
            }
        );
        container.add(btn1);

BOA², devagar eu to conseguindo…
Aqui vão mais algumas duvidas:

  1. E quando o campo for para inteiros?? qual o comando? pq .getText apenas recebe string…

  2. Eu consigo visualizar corretamente o que é armazenado apenas na janela principal, se eu fecho e depois clico em "Visualizar contatos"na janela principal ele não mostra nada…

  3. Como eu faço para ele adicionar mais de 1 contato, pq depois que eu adiciono o 1 os proximos irão sobreescrever os anteriores.

  4. Essa duvida diz respeito a janelas gráficas, eu executo o programa e ele abre a janela principal, até ae tudo certo, mas quando eu clico em um botão, por exemplo, “Cadastrar Contatos”, ele abre outro frame por cima, mas não esconde ou bloqueia a janela anterior, bom, eu gostaria de esconde-la, ou pelo menos bloquiar suas funções.

Obrigado.

Olá…

  1. você deve converter de String para Inteiro…
    contato.setId(Integer.parseInt(txt1.getText));

  2. Como você não está trabalhando com banco de dados, quando vc fecha a janela, o objeto populado sai da memória, utilize banco de dados.

  3. cada campo field tem seu nome, é só vc popular seu objeto contato com os dados. Se você quer cadastrar nome, telefone etc., mais de uma vez, uma dica é gravar no banco de dados.

  4. Se você quiser esconder na action você coloca:
    nome_do_frame.setVisible(false);