Como passar o conteudo JTextField de um JFrame para outro JTextField em outro JFrame
11/11/2009
0
2 - Quando digito e texto eu tenho uma ação no momento de teclar <enter>, e ele faz uma consulta, abre uma outra janela, que é um Jframe chamado TEstadoConsulta, o qual carrega uma tabela contendo os estados cadastrados, feita a seleção da sigla do estado ele deve retornar o valor para o jtextfield do primeiro JFrame que é TFornecedor.
3 - Andei pesquisando na Internet e não obtive umas respostas claras, parece que tem uma solução atraves do método construtor das classes, tentei fazer mas quando
retorno do segundo JFrame TEstadoConsulta para o primeiro JFrame TFornecedor , os outros campos que estavão preenchidos voltam a ficar em branco, inviabilizando esta solução.
Desde já agradeço a atenção.
Lucio Dias
Posts
12/11/2009
Dyego Carmo
E quando selecionar voce muda diretamente , chegou a tentar esta solucao ?
12/11/2009
Lucio Dias
Muito obrigado pela sua atenção, seu que esta minha duvida é algo simples, porém não estou conseguindo resolver o problema sozinho, o metodo construtor do 1o. JFrame e este:
//--- Metodo construtor ---\\
public TFornecedor(Object valorRecebido){
this.valorR=(String) valorRecebido;
initComponents();
campoEstado.getText(valorR);
}
Até aqui tudo bem, o problema é que os demais campos do form, ficão todos em branco, porque tenho que instanciar a classe TFornecedor no JFrame2 para retornar o valor para o JtextField.
O metodo que passa o valor para o JFrame1 é este:
//--- carrega Item da tabela ---\\
private void carregaItem(){
int linha = jTableEstado.getSelectedRow();
varEstado=(String) jTableEstado.getValueAt(linha , 0);
varNomeEstado=(String) jTableEstado.getValueAt(linha , 1);
this.dispose(); // fecha a janela do 1o. Jframe (TEstadoConsulta)
TFornecedor tf1 = new TFornecedor(); // Instancio a classe chamando o 1o. Jframe (TFornecedor)
tf1.recebeEstado1(varEstado); // Passo o valor da sigla do estado para o metodo construtor do 1o. JFrame.
}
* Obs: Estou percebendo o seguinte, como instâncio a classe novamente, ela tem de ser executada com o initcomponents(); e com isso os outros campos que estavam preenchidos voltam a ficar em branco, na realidade eu não consigo voltar para o JFrame1 original, pois quando eu instancio a classe no metodo acima é como se eu chamasse outro novo.
EXEMPLO:
JFrame1 (TFornecedor) com os campos preenchidos
campoFornecedor - "FULANO DE TAL"
campoCidade - "PORTO ALEGRE"
campoEstado - "<teclo enter>" para instancial o segundo jframe, e apresentar a tabela.
TEstadoConsulta te = new TEstadoConsulta();
te.setVisible(true);
= = = = = = = = = == = = = = = =
JFrame2 (TEstadoConsulta) Selecionando o item
jTableEstado - Seleciono o item que quero ex: "RS"
varEstado = recebe o item da tabela ex: "RS"
this.dispose(); // fecho o Jframe2 (TEstadoConsulta)
Voltando com o valor, Instancio a classe do 1o. JFrame
TFornecedor tf = new TFornecedor(varEstado); // Ok passei o valor para o construtor do Jframe1
tf.setVisible(true);
= = = = = = = = = = =
Agora
Nesse Momento em que o JFrame1 é reapresentado, os outros campos estão todos em branco.
= = = = = = = = = = = = =
Espero ter consegui descrever o meu problema.
12/11/2009
Lucio Dias
//--- Metodo construtor ---\\
public TFornecedor(Object valorRecebido){
this.valorR=(String) valorRecebido;
initComponents();
campoEstado.setText(valorR); ---> correto
}
18/11/2009
Dyego Carmo
Valeu !
Clique aqui para fazer login e interagir na Comunidade :)