Olá pessoal,
Já foi minha dúvida, e continua sendo de muita gente. Eu me perguntava de que forma eu poderia enviar e receber valores de um outro JFrame qualquer. Então está aí meu primeiro tutorial.
Como sou iniciante, peço que, se alguem conseguir fazer de uma forma melhor que tbm compartilhe.
Arquivo Main :: Esse arquivo não tem segredo, ele é o main principal, instanciando a JanelaPrincipal e JanelaSecundaria, ambos(JFrame)
public class Main {
public static void main(String[] args) {
JanelaPrincipal janelaPrincipal = new JanelaPrincipal(); //faz a instancia
janelaPrincipal.setVisible(true); // mostra a janelaPrincipal
JanelaSecundaria janelaSecundaria = new JanelaSecundaria(); // faz a instância
janelaSecundaria.instancia(janelaPrincipal); // janelaSecundaria possui um método que recebe a instância da 'janelaPrincipal', no qual a gente precisa para enviar os valores mais tarde.
janelaSecundaria.setVisible(true); // mostra a janelaSecundaria
}
}
Arquivo JFrame JanelaPrincipal :: No fonte do JFrame JanelaPrincipal, ou seja, o JFrame que vai receber o valor.
public void campoRecebe(String Txt){ // Esse método vai inserir o valor que é recebido pelo parâmetro.
jTextField1.setText(Txt); // e inserir em um campo de texto jTextField.
}
Arquivo JFrame JanelaSecundaria :: No fonte do JFrame JanelaSecundaria, ou seja, o JFrame que vai enviar o valor.
javax.swing.JFrame jframe; // Reservo uma instância que será recebida pelo método 'public void instancia()'.
public void instancia(javax.swing.JFrame jframe){
this.jframe = jframe; // Guarda o valor recebido pelo parâmetro.
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // Método que, ao clicar no botão, envia.
JanelaPrincipal janelaPrincipal = (JanelaPrincipal)this.jframe; // Aqui acontece toda mágica, e feito um CAST(é isso pessoal ?)
janelaPrincipal.campoRecebe(jTextField1.getText()); // Chama o método que está na 'janelaPrincipal'
jTextField1.setText(null);
}
Bem, é isso aí pessoal. Espero ter dado uma luz.
Obrigado.