Atualizar Jtable [RESOLVIDO]

Fala gente, tenho o seguinte código que a cada 20 segundos ele faz um select e se caso tiver algo como defini no select ele me retorna lista, conforme o codigo abaixo…

    public void iniTimerAviso() {
        timer.schedule(new TimerTask() {
            
            @Override
            public void run() {
                ArrayList retorno = new ArrayList();
                retorno = ctl.verificarModificacao();
                if(retorno.size()>0){
                    iniciarAvisoAlter(retorno);
                }
            }
        }, 0, 20 * 1000);
    }

Se tiver retorno ele chama este outro metodo…

    public void iniciarAvisoAlter(ArrayList lista){
        ArrayList lista_ = new ArrayList();
        
        lista_ = lista;
        
        aviso = new JFAvisoAlteracao(lista_,this);
        this.setVisible(false);
        this.getParent();
        this.getParent().add(aviso);
        int lDesk = this.getWidth();  
        int aDesk = this.getHeight();  
        int lIFrame = aviso.getWidth();  
        int aIFrame = aviso.getHeight();
        aviso.setLocation( lDesk / 2 - lIFrame / 2, aDesk / 2 - aIFrame / 2 );
        aviso.setVisible(true);
    }

Ai ele inicializa outro metodo, que chama uma Jinternalframe com uma tabela com as pendencias que eu defini que ela recebera, eu quero q ela atualiza se caso a lista for diferente, se caso a lista nao for diferente as informações forem igual, nao atualizar a lista, alguem pode me ajudar, o meu problema está sendo que a cada loop que o meu codigo faz ele cria um novo em vez de verificar que é o mesmo, e nao criar, e se caso for alterado ele nao criar o novo usar o que tem e adicionar o que foi atualizado…

Mude a lista do seu TableModel, lançe um fireTableDataChanged() e pronto.

Resolvi, da seguinte forma…

    public void iniciarAvisoAlter(ArrayList lista){
        if(aviso == null){
            aviso = new JFAvisoAlteracao(lista,this);
            this.setVisible(false);
            this.getParent().add(aviso);
            int lDesk = this.getWidth();
            int aDesk = this.getHeight();
            int lIFrame = aviso.getWidth();
            int aIFrame = aviso.getHeight();
            aviso.setLocation( lDesk / 2 - lIFrame / 2, aDesk / 2 - aIFrame / 2 );
            aviso.setVisible(true);
        } else {
            aviso.lista = lista;
            if(!this.isVisible()){
                aviso.reloadLista();
                
            } else {
                aviso.reloadLista();
                this.getParent().remove(aviso);
                this.getParent().add(aviso);
                this.setVisible(false);
                aviso.setVisible(true);
            }
        }
    }