Setar texto de um txtField do Frame1, para um JLabel do Frame2

Boa tarde galera, sou novo aqui e também iniciante em programação JAVA.

Estou desenvolvendo um jogo para a faculdade, onde tenho uma tela inicial onde o jogador digita seu nome, ao clicar no botão entrar, ele entra em uma tela de boas vindas, porém eu gostaria de estar pegando o nome(TXTField) do jogador e estar setando na tela de boas vindas, como um tipo de saudação em um JLabel. Já tentei de várias maneiras, porem sem êxito.

Segue abaixo o ultimo método utilizado:

Tela Inical -->

public void enviarTexto(){
String vai = txtJogador.getText().trim();
BemVindo outra = new BemVindo();
outra.setLbl(vai);
}

Evento do botão entrar:

private void btnEntrarActionPerformed(java.awt.event.ActionEvent evt) {
BemVindo telaInicio = new BemVindo();
String jogador;
jogador = txtJogador.getText();
if(jogador.trim().isEmpty()){ // Verifica se o campo esta vazio, tabulado ou com espaço
JOptionPane.showMessageDialog(null,“Por favor, digite um nome para o jogador”);
} else {
enviarTexto();
telaInicio.setVisible(true);
}
}

TELA BEM VINDO

public void setLbl(String a){
lblJogador.setText(a); // Seta o valor nome no JLabel
}

Não surge nenhum erro e executa normalmente, porém não seta o valor na outra tela. Como posso resolver ?

Você tem que fazer o seguinte:

Defina o jLabel da tela de bem vindo como static e public.

BemVindo telaInicio = new BemVindo();

telaInicio.jLabel.setText(“Seja bem vindo” +txtJogador.getText()); //Assim você já seta o texto antes do frame 2 esta visível.

Você tambem pode fazer uma referencia a classe assim: BemVindo.jLabel.setText(“Seja bem vindo” +txtJogador.getText());

telaInicio.setVisible(true);

Nossa, tão simples e eu complicando.

Valeu amigo, deu certo com o segundo método.

Ainda sou novo nessa área, mas cada dia que aprendo uma coisa diferente me motiva cada vez mais.

Agora mesmo estou pesquisando sobre como adicionar um cronometro em meu jogo kkk

Até mais!

Um brevíssimo resumo.
A utilização do modificador static, refere-se a “coisas que pertencem à classe”.
A utilização indiscriminada do static é problemática.
“Coisas” que pertencem ao objeto, sejam elas métodos ou atributos, não devem conter o modificador static.

Para comunicação entre objetos, faça bom uso dos métodos, sejam eles estáticos ou não, embora em alguns casos seja possível realizar a modificação de um atributo diretamente principalmente quando possui o modificador public, em menor grau package, etc, pois depende da restrição de acesso imposta.

Procure saber mais sobre o modificador static.
Para fins de degustação, veja:

Opa, li o artigo e agora sei onde e quando utilizar o modificador static.

Muito obrigado, e não pare, informação é bom e eu gosto. kkkk

Até!