Ir ao conteúdo
  • Cadastre-se

Como usar um texto de JTextField em outra classe


Posts recomendados

Olá, boa noite!
 

Estou tentando criar uma interface gráfica que possui um campo TextField, a qual eu adiciono um gerenciador de evento (ActionListener).

Quando o enter é digitado, eu consigo capturar o conteúdo digitado no campo, através do método actionPerfomed.

 

O trecho de código onde implemento a ActionListener é:

class TextFieldHandler implements ActionListener {    private JTextField dataInput;    private JTextField dataOutput;    private String input;    private String output;    public TextFieldHandler(JTextField dataInput, JTextField dataOutput) {        this.dataInput = dataInput;        this.dataOutput = dataOutput;        this.input = null;        this.output = null;    }    public void actionPerformed(ActionEvent event) {        if(event.getSource() == this.dataInput) {                        this.input = event.getActionCommand();            this.dataInput.setText("");            this.dataOutput.setText(this.output);        }    }        public String getInput() { return this.input; }    public String getOutput() { return this.output; }    public void setInput(String input) { this.input = input; }    public void setOutput(String output) { this.output = output; }}

Eu queria, após o enter ser digitado (quando o evento é chamado), passar essa string obtida para uma outra classe que está esperando uma string.

 

O que eu pensei em fazer: crio um while na classe em que quero usar a string obtida, de tal forma que quando aquela string deixar de ser null, eu posso usá-la. Como se segue:

public class Client extends JFrame {       	private TextFieldHandler handler;              ....              ....     public void execute() {              ....              ....         while(this.handler.getInput() == null);              ....              ....     }

Porém, esse é um loop infinito, porque aparentemente eu não consigo usar a string que foi setada no método de capturar o evento. O que quero dizer: mesmo com os eventos alterando a string "input", ainda assim, nas outras classes, como na "Client", elas ficam valendo null.

 

Alguém sabe me ajudar, usando eventos como esses, a pegar o conteúdo digitado em um JTextField e usar em outra classe?

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • mês depois...

Cara posso não estar correto, mas acho que eu criaria um construtor da classe que você quer utilizar.

Classe cla = new Classe();

E armazenaria através de um chamada de método set:

setAtributo(JTextField.getText());

não sei se entendi direito o que você quer mas espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...