[quote=“Felipe”][quote=“HumbertoJr”][quote=“Felipe”]No ex você esta criando um novo objeto de Thread, isso vai criar uma Thread que não vai fazer absolutamente nada, tenta isso:
public class Classe1 extends Jframe implements Runnable
           {
              Thread ex;
              public Classe1()
               {
                   MApa mapa=new Mapa(valores);
                   start();
                 }
            public void run()
            {
                ex = Thread.currentThread();
                mapa.update();
                //comando()
             map.update()
            }
}
OBS: Você não precisa por “Thread ex = …”, pois assim vai estar criando uma variavel local e não vai estar usando a global, use apenas “ex = …”.
OBS2: Você não deve chamar classe1.ex.start(); pois a Thread ex já esta sendo iniciada no construtor.
Espero ter ajudado.[/quote]
Alias fuyio testar agora e escrevi errado aqui no post,no meu codigo eu realmente não estou criando um novo objto não ,estou só dando um new Thread(this)   nele ,mas não o redeclaro.
E mais ,teu comando start(); sem referencia de um objeto Thread nem compila…[/quote]
É verdade, eu tinha escrito rapido e nem tinha me ligado nisso, mas o que estava acontecendo era que você estava criando uma variavel local com o mesmo nome da global, e dai a global permanesse inalterada impossibilitando que seja chamado o metodo join() da Thread
E no meu ex, ao invez de “start();”, seria “new Thread(this).start()”, ai sim, a Thread já seria iniciada no construtor (sem precisar ser iniciada na outra classe).
Se prefirir, ao invez de chamar “ex = Thread.currentThread()” no metodo run, armazene a Thread na variavel ex como você já estava fazendo (só que dessa vez na variavel global  ).
).
Testa ai e posta o resultado.[/quote]
O que acontece é que o Mapa aparece com escala cinza todo ,a thread fica executando,e ele só desenha o mapa quando a thread termina…eu queria que ficasse desenhando enquanto a thread executa…
Diz ai como fica o join() no programa principal:
objdaClasse1.ex.join()?