Tenho o seguinte problema:
 
 - Tenho um Thread, no qual eu instancio a minha classe Browser, reparem no método SetaTexto() que eu chamo a cada segundo veja:
 
class RodaConsulta extends Thread {
// Esta classe exibe uma mensagem no text área da consulta
Browser AreaMsg;
 
 RodaConsulta(Browser Area) {
  AreaMsg = Area;
 }
 
 public void run() {
  AreaMsg.SetaTexto("");
  int i = 0;
  while (true) {
   try {
    if (i == 0) {
     AreaMsg.SetaTexto("Aguarde...<br>Consultando indicadores em "+String.valueOf(i+1)+" segundo.");
    } else {
     AreaMsg.SetaTexto("Aguarde...<br>Consultando indicadores em "+String.valueOf(i+1)+" segundos.");
    }
    sleep(1000);
   } catch (Exception e) {
    // Parando o Thread caso ocorra algum erro
    System.out.println("Exceção: " + e);
    stop();
   }
   i++;
  }
 }
}
 - Este método SetaTexto(), dentro da minha classe Browser, apenas altera o valor de uma variável String e chama o método paint. O problema é que o paint() só é executado na última vez em que o thread chama o método SetaTexto(),  vejam este método:
 
 void SetaTexto(String Texto) {
 // Atualiza o texto exibido no browser
  // Zerando as coordenadas para escrever um novo texto
  Linha = 15;
  Coluna = 3;
  TextoEscreve = Texto;
  repaint();
 }
 public void paint(Graphics g) {
  // Escrevendo a mensagem
  // Zerando a linha e coluna (caso mova-se a barra de rolagem)
  Linha = 15;
  Coluna = 3;
  if (imgOff == null) {
      imgOff = createImage(size().width, size().height);
      offG = imgOff.getGraphics();
  }
  offG.setColor(new Color(255, 255, 224));
  offG.fillRect(0,0,size().width, size().height);
  offG.setColor(new Color(0,0,100));
  offG.setFont(FontePlain);
  Escreve(TextoEscreve, offG);
  g.drawImage(imgOff,0,0,this);
  imgOff.flush();
 }
 
 - Me desculpem pela extensão do e-mail, mas foi a única maneira que eu encontrei de exibir o meu problema. Se alguém puder me ajudar ficarei muito agradecido mesmo.
 
[]'s
 
    Ary Junior

Responder a