[RESOLVIDO] pausar execução no meio do metodo

5 respostas
yurifw

boa tarde,

tenho um frame com um metodo estatico de busca chamado buscaEvento(). ele deveria funcionar da seguinte maneira: o metodo estatico é chamado, dentro deste metodo ele é instanciado, e é exibido para o usuario uma tela com uma tabela e varioss tipos de eventos, entao o usuario clica em um destes tipos de evento e o motodo retorna o tipo de evento selecionado pelo usuario. O problema é que o metodo tem q ficar esperando o usuario clicar em alguma linha da tabela. como faço pra pausar a execução do metodo?

o codigo do evento:

public static Evento buscaEvento (){
        
        //instanciando essa mesma tela
        TelaBusca telaBusca = new TelaBusca();
        //telaBusca.setModal(true);
        telaBusca.setVisible(true);
        
        //setando o tablemodel na tabela
        EventoTableModel model = new EventoTableModel();        
        table.setModel(model);        
        
        //preenchendo a tabela
        List<Evento> eventos = new ArrayList<>();
        EventoJpaController eventoJPA = new EventoJpaController(emf);        
        eventos = eventoJPA.getEntityManager().createNamedQuery("Evento.findAll").getResultList();
        for (Evento e : eventos) {
            model.inserir(e);
        }
        
        //preciso pausar o metodo aqui
        
        return (Evento)retorno; //qdo a tabela disparar evento de clique, ela da um valor a essa variavel, que esta declarada fora do metodo como Object
    }

5 Respostas

robinsonbsilva

Não teria como vc chamar um JDialog, e partir deste, de acordo com a opção selecionado pelo usuário, fazer o que deve ser feito?

ViniGodoy

Use um JDialog modal.

E não use métodos estáticos.

yurifw

deu certissimo,
mais uma vez tenho q te agradecer de verdade, consegui fazer exatamente o que eu queria, muito obrigado mesmo.

só uma pergunta: vc falou pra não usar metodos estaticos, mas pq?

ViniGodoy

Em 99% dos casos, e esse é um deles, é porque você não precisa.
Eles geram outros transtornos como serem difíceis de deixar multi-thread.

O uso indiscriminado gera também as variáveis estáticas, que nunca são coletadas pelo coletor de lixo.

yurifw

entendi e ja tirei a parte toda estatica

Criado 12 de março de 2013
Ultima resposta 12 de mar. de 2013
Respostas 5
Participantes 3