Bom galera vou tentar explicar o que estou fazendo. Estou criando um sistema bancário.
O sistema é composto por 1 JFrame e varios Jpanel.
Imagem exemplo do meu JFrame:
Coloquei essa imagem como icone no jframe e acima de cada botão eu coloquei um jlabel para que possa ser registrado ações de click.
Esse retângulo azul é o local no qual são chamadas as telas em Jpanel. Através do método:
jpTelaCentral.setViewportView(new Tela1());
Quando eu entro na tela de cadastro ele chama a TelaCadastroClienteConta que é uma tela de cadastro feita em jpanel:
Dentro do meu Jpanel TelaCadastroClienteConta eu criei o método que retorna o conteudo de cada jtextfield. Ex: Olha o que retorna o nome:
public String retornaNome(){
return jftNomeCl.getText();
}
Aí no meu Jframe eu criei um objeto da classe TelaCadastroClienteConta e chamei o método acima para armazenar o conteudo do jtextfield em uma variavel. Ficando assim:
TelaCadastroClienteConta obj = new TelaCadastroClienteConta();
String ArmazenaNomeDoTextField = obj.retornaNome();
Ah, só lembrando que tudo isso é feito depois que clico no botão cadastrar que é representado pelo BT4 na imagem q postei.
Só que quando eu imprimo a String ArmazenaNomeDoTextField ela está vazia. Descobri que pelo fato do BT4 pertencer ao JFrame e não ao JPanel que é onde os jTextfield estão aí ao clicar no BT4 os jTextField vão todos vazios, mas se eu clicar em CADASTRAR que é o locall onde estão os jTextfield aí sim os dados gravam certinho.
Resumindo: Clicando em CADASTRAR, botão q pertence ao JPanel, aí os dados gravam certos, mas se eu clicar em BT4, botão que pertence ao JFrame, aí os dados vão em branco.
OBRIGADO.