Como chamar TextField de outra classe?

5 respostas
A

Exemplo, eu tenho classe Teste, e Main

o texfield fica la dentro da Main, quero pegar o valor desse texfield da Main, e fazer uma comparação la na Teste.
O que eu fiz?
Logicamente eu criei dentro da classe Teste uma linha com: Main obj = new Main(); //para instanciar elementos
e dentro de um if tentei

if (obj.TextField.getText() )

Mas isso não funcionrama, explode logo esse erro:

Exception in thread “AWT-EventQueue-0” java.lang.StackOverflowError

Como faço ?

5 Respostas

S

Bom, se sua comparação é realmente assim, dará erro de compilação. Dentro de um if é necessário ter um valor booleano.

Outra coisa, StackOverflowError é um erro de estouro de pilha. Talvez você esteja em algum lugar chamando um ou mais métodos repetidas vezes de uma só vez.

EduFrazao

Se você criou um objeto diretamente dentro do escopo de um método, sem associá-lo à alguma instância da classe, você não vai conseguir acessá-lo de outro ponto à menos que o passe pro algum parâmetro.

A Exceção que você informou é um estouro de pilha. Você excedeu a quantidade máxima de empilhamento na chamada de um método, possívelmente invocando um método que gera um loop infinito:

private void ler() {

ler();

}
A

[quote=silasyudi]Bom, se sua comparação é realmente assim, dará erro de compilação. Dentro de um if é necessário ter um valor booleano.

Não, foi so um exemplo, eu uso um == ou equals pra comparar com outro valor.

A

[quote=EduFrazao]Se você criou um objeto diretamente dentro do escopo de um método, sem associá-lo à alguma instância da classe, você não vai conseguir acessá-lo de outro ponto à menos que o passe pro algum parâmetro.

A Exceção que você informou é um estouro de pilha. Você excedeu a quantidade máxima de empilhamento na chamada de um método, possívelmente invocando um método que gera um loop infinito:

[code]
private void ler() {

ler();

}

Não cara, criei fora do metodo.

S

Coloca o código todo desta classe pra nós tentarmos te ajudar com mais informações…

Criado 23 de maio de 2013
Ultima resposta 23 de mai. de 2013
Respostas 5
Participantes 3