Atualizar um JTextField

Sou iniciante na linguagem, e estou conhecendo o Swing agora…tenho um probleminha aqui…

Tenho duas classes frames, Fornecedor e PesquisarFornecedor(os frames são abertos ao msmo tempo)…

Eu estou conseguindo passar os valores pesquisados na PesquisarForncedor para a Fornecedor sem problemas…

porém, qndo eu fecho a janela de pesquisa(PesquisarFonecedor) o valor não aparece no JTextField do frame Fornecedor…

eu estou SETando o
JTFieldcodforn.setText(bean.getCodforn());
e tenho certeza que o valor esta sendo SETado corretamente, pois eu exibo ele no console
System.out.println(JTFieldcodforn.getText());
mas ele não é exibido no JTextFiled do frame.

será que é preciso atualizar os JTextField do frame Fornecedor ??? existe algum método para isso ?? ou alguem tem algum exemplo de como exibir um valor de um frame em outro frame…!!!

alguem pode me ajudar…

desculpe se não fui mto claro…

Bom dia JANP,

Fica meio dificil te ajudar porque não sei como você está tratando os dados dos 2 frames.

De qualquer forma, é importante vc saber que um Frame precisa “conhecer” o outro Frame para que isso seja possível.

Talvez seja apenas um problema de referência ao objeto ou algo parecido.
Por não saber como você está tratando isso fica difícil te ajudar.

De qualquer forma mesmo sem acreditar que seja esse o problema, já que você diz que usando system.out.println() você conseguiu verificar que o valor existe nesse objeto, e por ser swing, tente utilizar:

JTFieldcodforn.repaint();

(implemente esse comando após definir o valor no JTextField, de preferência na mesma tela do JTextField)

Espero ter ajudado.

Boa Tarde RMF,

então, tentei com o repaint() mas nem deu certo…

acho mto incrivel, pq o objeto JTextFild esta carregado(SETado) com o valor(como disse, eu consigo exibi-lo com o System.out.ptintln)…

dai não sei mais o que tentar…

os valores passam de um frame pro outro normalmente…mas na hora de exibir o valor no JTextField ele não exibe !!!

mas vlw pela força…

se vc souber de algum exemplo parecido na net, posta o link, please …

Posta o código ou parte dele aqui pra que eu possa tentar te ajudar.

Kra, será que você não está setando este valor em uma outra instância da tua classe Fornecedor?
Espero ter ajudado

pois é fabiomagagnin…

estou sim criando uma outra instancia na classe PesquisarFornecedor pra passar o valor selecionado na pesquisa…

RMF segue aí os métodos…

[b]

public class PesquisarFornecedor extends javax.swing.JFrame {



private void jTableListagemMouseClicked(MouseEvent e) {

	if (e.getClickCount() >= 2) {
		
	       	  int row = jTableListagem.getSelectedRow();
	       	
	       	 FornecedorBean bean = new FornecedorBean();

bean.setCod_fornecedor(jTableListagem.getValueAt(row, 0).toString());
bean.setDesc_fornecedor(jTableListagem.getValueAt(row, 1).toString());

	         new FornecedorGui().retornoPesquisa(bean);[/b]  [i]//aqui crio uma instancia chamando o metodo "retornoPesquisa()" passando como parametro o objeto bean(que esta com os valores)[/i]
	[b]          
	}
}

}[/b]

eu não deveria criar uma nova instancia ?!?..como seria o mais correto para passar os valores selecionados para o frame Fornecedor ???

segue tbm o metodo q recebe o objeto bem na classe frame Fornecedor…

public class GranjaGui extends javax.swing.JFrame {



public void retornoPesquisa(FornecedorBean bean) {

	txtcodfornecedor.setText(bean.getCod_fornecedor());
	txtdesc_fornecedor.setText(bean.getDesc_fornecedor());
	
	//txtcodfornecedor.repaint();
	//txtdesc_fornecedor.repaint();
	

	//exibindo no prompt
	System.out.println(txtcodfornecedor.getText());  //exibição ok !
	System.out.println(txtdesc_fornecedor.getText());//exibição ok!
	
	//exibindo no prompt
	System.out.println(bean.getCod_fornecedor());//exibição ok !
	System.out.println(bean.getDesc_fornecedor());//exibição ok !
	
	
	
}

}

Obs: os valores são passados corretamente…a zica, é que não são exibidos nos JTextFields qndo fecho a janela de pesquisa…

não sei se o mais usual pra essa rotina de pesquisa seria criar esses metodos…caso alguem tenha um exemplo mais simples …poste por favor…

certo, o problema está aí agora.

O lance é que você esta instanciando outra FornecedorGui.
Você precisa ter o mesmo objeto FornecedorGui e não criar outro novo.

O método construtor da Classe PesquisarFornecedor precisa receber como parametro a propria FornecedorGui.

Ou seja, quando você criar a classe PesquisarFornecedor tente fazer assim:

new PesquisarFornecedor(this);

Dessa forma você está passando a classe FornecedorGui como parametro para a Classe PesquisarFornecedor e assim você tem o mesmo objeto.

Daí é só continuar exatamente como você está fazendo.

É importante você entender essa questão de instancias diferentes.

Espero ter ajudado!

[b]

huahuaha…vlw fabio…vlw RMF …!!! funfo a parada aki !!!
[/b]

acho q estava meio perdido nas instancias…

vlw galera…