Eventos entre Frames diferentes [RESOLVIDO]

4 respostas
A

Olá galera do fórum mais uma vez venho aqui esclarecer algumas dúvidas para um software que estou fazendo:

O software faz o gerenciamento de uma salão de festas e controla os cadastros de clientes, funcionários, eventos etc…
Para que houvesse uma maior facilidade para o usuário ao terminar de cadastrar um novo cliente no sistema o software pergunta
se o usuário deseja cadastrar um evento para esse cliente recém cadastrado, caso o usuário escolha sim o formulário de eventos deve ser
exibido já com os dados desse ultimo cliente preenchidos em seus respectivos campos.

Gostaria de saber:

  1. Como faço para que o formulário de eventos abra diferenciando entre a chamada para cadastrar o ultimo cliente (já com os dados dele nos campos) ou apenas
    abra para cadastrar um outro cliente qualquer (com todos os campos em branco para ser preenchidos)?
  2. Como faço para enviar os dados desse novo cliente cadastrado no formulário de clientes para serem usados nos campos do formulário de eventos?

Qualquer dica ou exemplos para estudo são bem vindos :slight_smile:
Desde já grato

4 Respostas

yurifw

se eu entendi bem vc pode criar um metodo construtor q isso resolve seu problema.
vou ver se faço um exemplo aqui pra vc:

public class FrmEvento extends javax.swing,JFrame {
	//aqui fica o codigo do seu formulario
	//se vc usa o netbeans, ele cria um metodo construtor ja com o initComponents();

	
	//esse é o metodo construtor, repare q ele se declara de jeito diferente dos outros metodos (n se especifica o retorno e ele deve comecar com letra maiuscula, assim como a classe
	// o metodo construtor é executado sempre que sua classe é chamada, o que voce deve fazer é criar um NOVO (mas manter este) metodo construtor pra ser chamado qdo vc quiser passar o cliente
	public FrmNotificacao() {
        	initComponents();

   	}


	//o metodo construtor q vc deve criar é +- assim:
	public FrmNotificacao(Cliente cliente){
		initComponents();
		txtNomeCliente.setText(cliente.getNome());
		//aqui vc vai setando o resto dos campos
	}

	//o resto do codigo do seu formulario vai aqui


}

o que eu fiz:
criei um novo metodo construtor que pede como parametro uma variavel da classe cliente, assim vc pode enviar um cliente quando chamar o formulario e de la pegar todos os dados que precisa. quando instanciar a classe voce vai poder chamar qualquer um dos dois metodos, se n enviar parametro nenhum ele vai chamar o metodo construtor original, se passar o parametro do cliente ele vai chamar o metodo q pede como parametro o cliente e vai setar os campos (isso se chama polimorfismo).

na hora de instanciar fica assim:

//esse chamaria o formulario em branco
FrmEvento frmEvento = new FrmEvento();

//esse chama o formulario com os dados do cliente
FrmEvento frmEvento = new FrmEvento(cliente);

acho q ficou bem mastigadinho, mas qlqr duvida poste aqui ^^

A

Acho que mais mastigado impossível, vou tentar implementar e mando a resposta.

A

Funcionou perfeitamente, criei o novo construtor e consegui chama-lo pelo botão.
Yurifw Muito obrigado hein cara, a explicação foi tão clara que simplesmente criei o método e foi de primeira muito bom mesmo =DD

yurifw

sempre bom poder ajudar ^^

Criado 4 de dezembro de 2012
Ultima resposta 5 de dez. de 2012
Respostas 4
Participantes 2