Fiz um jFrame para cadastrar cliente, um outro para vendas e outro para pesquisar o clientes…
minha duvida eh a seguinte como fazer para trocar informações entre estes jFrames…
tipo:
quando eu chamar o jFrame de pesquisa a partir do cadastro quero que ele me retorne o cliente e ja preencha os campos nome, cpf, endereco do cliente…
ja se eu chamar pesquisa a partir de vendas quero somente o cpf… como fazer isso!!!
Crie um argumento no construtor da sua janela que recebe um objeto do tipo que ela representa, e depois preencha os componentes
com os atributos desse objeto.
Ex:
public JFramePesquisa( Cliente cliente) {
initComponentes(); // inicializa os componentes visuais
this.txtNome = cliente.getNome();
this.txtTelefone = cliente.getTelefone();
}
Mas isso é ruim. Ao invés de pensar na comunicação entre Janelas, tente pensar na comunicação entre objetos.
Procure aqui no forum sobre MVC
L
luiz.argenton
sim sim… mas tipo
nao tem como a jFrame retornar um cliente para o cadastro poder utiliza-lo?!
fabim
Ué… pq nao?
no JFramePesquisa…
publicClientegetCliente(){
returnthis.cliente;
}
assumindo que vc tem uma variavel de instancia “cliente” no seu frame de pesquisa
L
luiz.argenton
eu queria que ele retornasse igual aqueles JOptionPane…
tipo…
vc coloca JOptionPane.showConfirmDialog…
dai vc clica lah num botao e ele retorna um valor… com um jFrame ou outra janela nao teria como eu fazer isso e retornar o cliente que eu escolhi?
fabim
é como eu te falei… se sua janela tem um objeto cliente, vc cria o método pra retornar…
suponhamos que a sua tela de pesquisa seja um JDialog ( fica melhor que frame ):
JDialogPesquisaCliente dialogPesquisa = new JDialogPesquisaCleinte(); dialog.setVisible( true );
// Se seu Dialog estiver como modal (setModal(true)), a execução pára aqui e so continua qdo o Dialog fechar
// Qdo o dialog fechar, a tela vai estar invisivel mas o objeto dialogPesquisa continua la e tendo o objeto Cliente;
Cliente cliente = dialogPesquisa.getCliente();
// faz o que quiser com cliente
L
luiz.argenton
ah entendi… entao mudarei para um jDialog…
valeu
L
luiz.argenton
consegui…
criei um metodo estatico que retorna um cliente…
tipo…
quando vc chama, esse metodo ele cria um jDialog e retorna um Cliente…
fiz assim…
publicstaticClientepesquisar(JFrameframe){JDPesquisarpesquisar=newJDPesquisar(frame,true);pesquisar.setVisible(true);returncliente;// q seria um atributo estatico}