Duvida... orientacao objeto

olah tudo bem?
como eu faco pra um objeto q esta executando uma metodo se comunicar com um objeto de interface… por exemplo uma JTextArea?
por exemplo:

public class Tela extends JFrame {
private JTextArea texto = new JTextArea();
private FilaCircular filaCircular;
public Tela() {
filaCircular = new FilaCircular();
}
metodo_clickar_botaumRodar () {
filaCircular.Rodar();
}
metodo_clickar_botaumInserir () {
filaCircular.Inserir();
}

}

public class FilaCircular {
public void Rodar() {
while(true) {
// visita um noh;
//???
Thread.sleep(1000);
// passa para o proximo noh;
}
}
public void Inserir() {
// insere na fila alguma coisa…
}
}

bom os eventos estaum bem em alto-nivel assim como o codigo…
qd o usuario clica no botaum rodar da interface eh iniciado o metodo rodar da fila circular… ??? imprime na tela cada no visitado…
e o botaum inserir insere um nome elemento na fila…
bom… uma solucao q eu encontrei para esse caso seria:
criar uma thread de FilaCircular para naum travar a interface na hora q chamar o metodo… e disparar uma outra thread para fikar dando refresh na interface… usando getInicioFila da FilaCircular…
isso funciona… e eh bem orientado objeto…
outra maneira seria implementar uma classe interna da interface dentro da classe filacircular… mas essa solucao achei um poukinho estranha e naum orientada objeto…
serah q existe outra maneira mais eficaz de se implementar isso respeitando a orientacao objeto…? obrigado… :slight_smile:

Usar duas threads, uma para manter a inteface responsiva, e outra para executar a tarefa, é sim a melhor solução.

Para manter a interface atualizada com o modelo, a solução mais indicada é o pattern Observer.

[quote=bzanchet]Usar duas threads, uma para manter a inteface responsiva, e outra para executar a tarefa, é sim a melhor solução.

Para manter a interface atualizada com o modelo, a solução mais indicada é o pattern Observer.[/quote]

kra bem legal isso hein… aind naum deu tempo de estudar muito… mas depois posto os resultados ok?
vlws mesmo abraco!

OK… Não há nada de errado em qualificar as mensagens. =)

opa deu certo! olha soh o q eu fiz… serah q tah certo?
public class Tela extends JFrame implements Observer {
private JTextArea texto = new JTextArea();
private FilaCircular filaCircular;
public Tela() {
filaCircular = new FilaCircular();
filaCircular.addObserver(this);
}
metodo_clickar_botaumRodar () {
Thread thread = new Thread(filaCircular);
thread.start();
}
metodo_clickar_botaumInserir () {
filaCircular.Inserir();
}

}

public class FilaCircular extends Observable implements Runnable {
public void run() {
while(true) {
// visita um noh;
//???
Thread.sleep(1000);
this.setChanged();
this.notifyObservers();
// passa para o proximo noh;
}
}
public void Inserir() {
// insere na fila alguma coisa…
this.setChanged();
this.notifyObservers();
}
}

serah q tah certo como orientado objeto… ?
serah q tem algo errado?