Copiando uma String

4 respostas
A

Pessoal, sou iniciante em Java, estou fazendo um pequeno jogo em java (resta 1) como trabalho para faculdade, estou com uma dificuldade… tenho duas classes A e B, na classe A existe um jframe com dois jtextfield e um jbutton (parece uma tela de login), e na classe B existe o jogo em si, o que eu quero é que o conteúdo digitado no jtextfield da classe A, seja usado em um jlabel na classe B… ex: o jogador coloca seu nome na tela inicial e quando ele clicar OK, o segundo jframe abre com o nome dele no topo… parece ser uma coisa bem besta, mas …

Obrigado!

4 Respostas

R

Cria um construtor para classe B recebendo como parametro uma String,

public ClassB{
     String nome;
     public ClassB(String nome){
          this.nome = nome;
     }
}

ae quando vc instanciar a ClassB vc passa o nome como parametro

A

rafael_ra, como faço para implementar isso ? 8O

R

Continua utilizando as duas classes que vc tem ae prontas, ae na classe a vc deve ter algo assim:

ClassB classB = new ClassB();

vc mudaria para

ClassB classB = new ClassB(seuTextField.getText());

ae na sua segunda classe (ClassB) vc faria oq falei no post passado, criaria um contrutor recebendo como parametro uma String

public ClassB{   
     String nome;   
     public ClassB(String nome){   
          this.nome = nome;
          //demais ações que deve haver em seu construtor   
     }
     ...
     //em algum lugar do seu código vc seta o valor de um label com o nome do usuario
     seuLabel.setText(nome);
}

Qualquer dúvida poste ae!

A

Consegui!!! :grin:

fiz o seguinte:

public class Resta1GUI {
....

private String nome, nome2;
    
public void Nome(String n)
    {
     nome = n;
    }
    public void Nome2(String n)
    {
        nome2 = n;
    }

ainda na primeira classe, no action do botão OK:

Nome(jogador1.getText()); // Atribui o nome do player 1
Nome2(jogador2.getText()); // Atribui o nome do player 2

Resta1Ex REX = new Resta1Ex();
        REX.show();
        REX.setNome(nome); // método set na segunda classe (Resta1EX) que executa a ação de atribuir uma string no label referido (lPlayer1)
        REX.setNome2(nome2); // método set na segunda classe (Resta1EX) que executa a ação de atribuir uma string no label referido (lPlayer2)

metodo set da classe Resta1EX:

public void setNome(String n) // Seta o nome do player 1
    {
        lPlayer1.setText(n);
    }
public void setNome2 (String n)
    {
        lPlayer2.setText(n); // player 2
    }

Obrigado, valeu pela ajuda e que este exemplo simples ajude muita gente !!! :cool:

Criado 17 de março de 2008
Ultima resposta 17 de mar. de 2008
Respostas 4
Participantes 2