Fechar janela anterior dentro de Thread [RESOLVIDO]

3 respostas
L

Estou com um problema,e não estou achando uma maneira para resolve-lo.

normalmente para passar de uma janela para outra eu usaria -

setVisible(false);
ProximaJanela proxima = new ProximaJanela();
proxima.setVisible(true);

porem quero usar esse setVisible(false) dentro da minha classe que implementa o Thread,pois quero que logo depois que o usuario clique em logar o Jbutton fique desabilitado para que de o tempo de conectar com o servidor e a janela mude de uma para outra

public class TimerLogin implements Runnable {

    @Override
    public void run() {
           Logar.desabilitaEntrar();
            try {
                Thread.currentThread().sleep(0);
            } catch (InterruptedException ex) {
                Logger.getLogger(TimerLogin.class.getName()).log(Level.SEVERE, null, ex);
            }
            Logar.validaUsuario();
        }
    }

a classe que conecta com o banco é validaUsuario(),e ela está como estática para ser chamada dentro do run e pegar os dados escritos nos Jtextfields no primeiro frame assim como a desabilitaEntrar() que implementa o jBEntrar.setEnabled(false);

no final da classe validaUsuario() está o meu problema.

//Passa para proxima janela
  this.setVisible(false);  // Não posso fazer isso pois validaUsuario() está como static que precisa ser chamada pelo run 
  Tipo tipo = new Tipo();
  tipo.setLocationRelativeTo(null);
  tipo.setVisible(true);

n posso botar os metodos sem o static,pois senao criaria um novo objeto,e quero usar o que já existe para fazer a validação dos dados login e senha.

A solução seria botar o JFrame inicial como static,mas não tem como fazer isso,alguem tem uma solução?

3 Respostas

Luan_Kevin

O seu post está muito grande dai fica meio difícil de analisar!

você pretende esconder ou fechar a primeira janela?

caso for fechar tente usar:

dispose();

se você tentar editar seu tópico ficaria melhor de ajudar!!!

#FICADICA :thumbup:

L

Aa já consegui! :smiley:

eu tava tentando esconder a primeira janela quando passasse pra segunda,eu tava instanciando meu Jframe na minha classe main principal,então eu simplismente colequei static no Jframe pois precisava chamar o método de validaUsuario() que chama o JFrame dentro do Thread!

vlw!

Luan_Kevin

Luiz Bernardes:
Aa já consegui! :smiley:

eu tava tentando esconder a primeira janela quando passasse pra segunda,eu tava instanciando meu Jframe na minha classe main principal,então eu simplismente colequei static no Jframe pois precisava chamar o método de validaUsuario() que chama o JFrame dentro do Thread!

vlw!

Já que conseguiu edita o título do tópico para [RESOLVIDO]

:thumbup:

Criado 18 de julho de 2012
Ultima resposta 19 de jul. de 2012
Respostas 3
Participantes 2