Muito bom!! Valeu Flavio!

Abraço

2009/12/4 Flavio Costa <[email protected]>

> Pensando melhor, o ideal seria:
>
> public void onClick(...) {
>   new Thread(new Runnable() {
>       for (int i = 0; i < 100000; i++) {
>            // verifica se eh primo e...
>            SwingUtilities.invokeLater(new Runnable() { // exibir progresso
> em B };);
>       }
>    }).start();
> }
>
>
> 2009/12/4 Flavio Costa <[email protected]>
>
>>
>>
>> 2009/12/2 Peter P. Lupo <[email protected]>
>>
>>> Atualizar pode ser atualizar cada componente, todos os componentes, um
>>> painel que vc tenha colocado nele, o próprio painel retornado pelo
>>> getContentPane e pode ser em outra thread, na mesma thread, usando um
>>> observer para quando os dados forem modificados, no redesenho da tela ou do
>>> componente ou... enfim...
>>>
>>
>> Estou tirando o atraso dessa lista e acabei passando por aqui.
>> Até onde eu sei atualizações da interface (pelo menos usando Swing/AWT) só
>> podem ser feitas caso o método seja invocado a partir da 
>> EDT<http://en.wikipedia.org/wiki/Event_dispatching_thread>
>> .
>> Caso você atualize sua tela em outra thread, componentes podem não ser
>> renderizados ou ficarem renderizados pela metada ou qualquer outro
>> comportamento randômico. Então muito cuidado ao usar threads + Swing.
>>
>> No próprio artigo da Wikipedia existe uma explicação do porque isso é
>> problemático e como contornar o problema (caso seja realmente necessário
>> executar uma atualização da sua tela a partir de uma outra thread (é só usar
>> a classe SwingUtitilities).
>>
>> Um caso de uso seria. Imagine um botão A e uma barra de progresso B.
>> Ao clicar no botão ele executa uma tarefa custosa, então o ideal e lançar
>> uma thread para que isso seja feito.
>>
>> Ex:
>> public void onClick(...) {
>>    // calcular todos os primos até 100000 e exibir progresso em B
>> }
>>
>> O exemplo acima irá travar a sua interface durante o periodo do calculo e
>> provavelmente só irá exibir a barra em 0% e 100%, nenhum número entre eles.
>>
>> public void onClick(...) {
>>   new Thread(new Runnable() {
>>       // calcular todos os primos até 100000 e exibir progresso em B
>>    }).start();
>> }
>>
>> Usando o codigo acima você provavelmente vai ter sua interface livre para
>> continuar a ser usada mas a barra de progresso continua sem ser atualizada
>> ou ser atualizada erroneamente (com pequenos glitchtes)
>>
>> public void onClick(...) {
>>   SwingUtilities.invokeLater(new Runnable() {
>>       // calcular todos os primos até 100000 e exibir progresso em B
>>    });
>> }
>>
>> Agora tudo funciona numa boa.
>>
>> Desculpem qualquer erro de sintaxe e coisas do gênero.
>>
>>
>>>
>>> Sem saber como vc estruturou a tela, organizou os componentes e quais
>>> componentes vc quer atualizar, fica MUITO difícil adivinhar o que vc quer,
>>> até pq a grd maioria deles, se vc usou uma implementação padrão, deveria
>>> atualizar sozinha quando houvesse uma mudança, dependendo de como vc esteja
>>> usando...
>>>
>>> Bom vc ter conseguido solucionar sozinho, agora não adianta vc dar 0,1 da
>>> informação que a gente precisa e depois perguntar se a gente não sabe seja
>>> lá o que...
>>>
>>> Abraço
>>>
>>>
>>> Peter P. Lupo
>>> MPS.BR Authorized Implementation Practitioner
>>> Certified ScrumMaster
>>> Sun Certified Java Associate
>>> http://sites.google.com/site/pplupo - http://craftnicely.blogspot.com
>>> +55 (021) 81742487
>>>
>>>
>>> 2009/12/2 Guilherme Bruzzi <[email protected]>
>>>
>>>> Eu acho que não dá pra atualizar todo o JFrame, acho que só dá pra
>>>> atualizar cada componente ou o JPanel, e atualizar pode ser só esconder
>>>> alguns elementos (o que tornaria as coisas mais fáceis) , por isso a dúvida
>>>> sakow?
>>>>
>>>>
>>>> 2009/12/2 Zaedy Sayão <[email protected]>
>>>>
>>>>> Bem, a galera ta tentando te ajudar e vc vem com uma resposta dessa....
>>>>>
>>>>> Primeiro pra gente te ajudar a gente tem q entender direito seu
>>>>> problema....
>>>>>
>>>>>
>>>>> []'s
>>>>>
>>>>> 2009/12/2 Leonardo F. Borba <[email protected]>
>>>>>
>>>>>> Obrigado, mas meu problema ja foi solucionado.
>>>>>>
>>>>>> Mas agora me ficou a duvida, ninguem aqui sabe o que eh refresh,
>>>>>> atualizar, ou algo do tipo num tela??!!!
>>>>>>
>>>>>> abracos
>>>>>>
>>>>>> 2009/12/2 Peter P. Lupo <[email protected]>
>>>>>>
>>>>>> updateUI()?
>>>>>>>
>>>>>>>
>>>>>>> Peter P. Lupo
>>>>>>> MPS.BR <http://mps.br/> Authorized Implementation Practitioner
>>>>>>> Certified ScrumMaster
>>>>>>> Sun Certified Java Associate
>>>>>>> http://sites.google.com/site/pplupo -
>>>>>>> http://craftnicely.blogspot.com
>>>>>>> +55 (021) 81742487
>>>>>>>
>>>>>>>
>>>>>>> 2009/12/2 Raul Barbosa <[email protected]>
>>>>>>>
>>>>>>> repaint()?
>>>>>>>>
>>>>>>>> 2009/12/2 Zaedy Sayão <[email protected]>
>>>>>>>>
>>>>>>>> O q vc chama de atualizacao no JFrame?
>>>>>>>>>
>>>>>>>>> O q vc tem nele?
>>>>>>>>>
>>>>>>>>> Se vc quer, por exemplo, retirar um componente q ja esta nele e
>>>>>>>>> colocar outro, por exemplo, ai vc tem q fazer isso na mao.
>>>>>>>>>
>>>>>>>>> Agora vc pode simplesmente deixar os componentes la escondidos e so
>>>>>>>>> mudar a visibilidade deles.
>>>>>>>>>
>>>>>>>>> Posta algum trecho de codigo do q vc ta pretendendo fazer pq esta
>>>>>>>>> bem vago e estou pensando zilhoes de coisas q vc pode estar tentando 
>>>>>>>>> fazer.
>>>>>>>>>
>>>>>>>>> []'s
>>>>>>>>>
>>>>>>>>> 2009/12/2 Leonardo F. Borba <[email protected]>
>>>>>>>>>
>>>>>>>>> Professor, quero que ao existir alguma alteração na minha JFrame,
>>>>>>>>>> ela seja exibida automaticamente. Procurei na documentação da Sun, e 
>>>>>>>>>> não
>>>>>>>>>> existe um metodo que faça isso. Visitei alguns foruns e as soluções
>>>>>>>>>> apresentadas eram sobre a criação de um metodo que fizesse essa 
>>>>>>>>>> atualização,
>>>>>>>>>> ou seja, toda vez que eu quiser atualizar uma informação na tela, eu 
>>>>>>>>>> tenho
>>>>>>>>>> que chamar um metodo criado por mim.
>>>>>>>>>>
>>>>>>>>>> A minha duvida era saber se essa realmente é a melhor solução, a
>>>>>>>>>> criação de um metodo.
>>>>>>>>>>
>>>>>>>>>> 2009/12/2 Miguel Jonathan <[email protected]>
>>>>>>>>>>
>>>>>>>>>> Leoanrdo,
>>>>>>>>>>> explique melhor o que você quer fazer, e a que método você se
>>>>>>>>>>> refere, OK?
>>>>>>>>>>>
>>>>>>>>>>> Jonathan
>>>>>>>>>>>
>>>>>>>>>>>  On Wed, Dec 2, 2009 at 12:51 AM, Leonardo F. Borba <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> estava procurando na documentação da Sun, mas não achei sobre
>>>>>>>>>>>> algum metodo que atualize a minha JFrame, em foruns muitas 
>>>>>>>>>>>> soluções são
>>>>>>>>>>>> criar esse metodo. Existe outra forma de se fazer essse refresh da 
>>>>>>>>>>>> JFrame ou
>>>>>>>>>>>> so criando esse metodo??
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Leonardo F. Borba
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>> Google Groups "Comp 2 - Geral" group.
>>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>>> [email protected].
>>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>>> [email protected]<comp2-geral%[email protected]>
>>>>>>>>>>>> .
>>>>>>>>>>>> For more options, visit this group at
>>>>>>>>>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  --
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "Comp 2 - Geral" group.
>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>> [email protected].
>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>> [email protected]<comp2-geral%[email protected]>
>>>>>>>>>>> .
>>>>>>>>>>> For more options, visit this group at
>>>>>>>>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Leonardo F. Borba
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>>> Groups "Comp 2 - Geral" group.
>>>>>>>>>> To post to this group, send email to [email protected]
>>>>>>>>>> .
>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>> [email protected]<comp2-geral%[email protected]>
>>>>>>>>>> .
>>>>>>>>>> For more options, visit this group at
>>>>>>>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Zaedy Dantas Sayão
>>>>>>>>> Graduando em Ciência da Computação DCC/UFRJ
>>>>>>>>> http://www.manufato.com.br/
>>>>>>>>> MSN: [email protected]
>>>>>>>>>
>>>>>>>>>  --
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "Comp 2 - Geral" group.
>>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>> [email protected]<comp2-geral%[email protected]>
>>>>>>>>> .
>>>>>>>>> For more options, visit this group at
>>>>>>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Raul B. Barbosa
>>>>>>>>
>>>>>>>>  --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Comp 2 - Geral" group.
>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> [email protected]<comp2-geral%[email protected]>
>>>>>>>> .
>>>>>>>> For more options, visit this group at
>>>>>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Comp 2 - Geral" group.
>>>>>>> To post to this group, send email to [email protected].
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> [email protected]<comp2-geral%[email protected]>
>>>>>>> .
>>>>>>> For more options, visit this group at
>>>>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Leonardo F. Borba
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Comp 2 - Geral" group.
>>>>>> To post to this group, send email to [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected]<comp2-geral%[email protected]>
>>>>>> .
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Zaedy Dantas Sayão
>>>>> Graduando em Ciência da Computação DCC/UFRJ
>>>>> http://www.manufato.com.br/
>>>>> MSN: [email protected]
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Comp 2 - Geral" group.
>>>>> To post to this group, send email to [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]<comp2-geral%[email protected]>
>>>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Guilherme Heynemann Bruzzi
>>>>
>>>> Diretoria de Projetos
>>>>
>>>> EJCM – Empresa Júnior de Consultoria em Microinformática
>>>> Departamento de Ciência da Computação – UFRJ
>>>> www.ejcm.com.br - (21) 2598-9440
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Comp 2 - Geral" group.
>>>>
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected]<comp2-geral%[email protected]>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "Comp 2 - Geral" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected]<comp2-geral%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>
>>
>>
>>
>> --
>> Flávio Coutinho da Costa
>>
>
>
>
> --
> Flávio Coutinho da Costa
>
> --
> You received this message because you are subscribed to the Google Groups
> "Comp 2 - Geral" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<comp2-geral%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/comp2-geral?hl=en.
>



-- 
Leonardo F. Borba

--

You received this message because you are subscribed to the Google Groups "Comp 
2 - Geral" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/comp2-geral?hl=en.


Responder a