Thread para atualizar uma JList

1 resposta
C

ae galera blz?

Seguinte tenho um programa que fica atualizando os usuarios on line. Um atributo boolean ONLINE.

dai eu tenho uma JList com um botão atualizar para qatualizar essa lista, euq euria coloca isso em uma thread, como eu faço???

listUsers =new JList(loadUsersOnLine());

Quando eu clico no botão atualizar ele executa esse metodo abaixo e atualizar a JList, eu queria automatizar isso.

public DefaultListModel loadUsersOnLine(){ Vector a= u.getUsers(); DefaultListModel mode1=mode; int cont=0; mode1.removeAllElements(); for(int i=0;i< a.size();i++){ User b=(User) a.get( i ) ; if(b.isOnline()==false){ cont++; mode1.add(i,b.toString()); } } if(cont==0){ mode1.add(0,"Não há usuarios cadastrados!"); } return mode1; }

o q eu faço???

1 Resposta

L

Coloca esse método no run de uma Runnable e starta:

public class Atualizador implements Runnable {
  private AtomicBoolean finalizado = new AtomicBoolean(false);
  private DefaultListModel mode1;

  public Atualizador() {
// Pega o que vc precisa aki (ListModel e etc)
  }

  public void run() {
// Não me lembro direito se é getValue()
    while (!finalizado.getValue()) {
// seu código
    }
  }
// getters de resultados, getNumeroDeUsuarios(), etc
}

// Em algum outro lugar
Thread t = new Thread(new Atualizador());
t.start();

flw

Criado 18 de abril de 2005
Ultima resposta 18 de abr. de 2005
Respostas 1
Participantes 2