No meu ponto de vista, é melhor você utilizar uma Thread.
Caso você não à utilize seu processamento da janela irá parar, o usuário não irá conseguir
fazer outra coisa no sistema se o teu while não estiver já terminado.
abraço
h4lls
hum… boa…
yoshikichi
h4lls:
Galera seguinte, minha duvida é sobre o uso do while na Classe ou uma thread externa, queria qual é mais recomendado em termos de processamento etc.
Cuidado com o termo varivel global, em java isso não existe.
Sobre sua pergunta depende! Vc vai ter outro processo em paralelo?
Qual a necessidade de capturar essas imagens.
Vc pode extrair essa captura em uma classe sempara? Se não for precisar de algo paralelo não vejo a necessidade de Thread.
Threads são legais, mas sou a favor do mais simples possivel, se puder evitar evite.
Mas não é por isso que ira fazer um código espaguete tb.
Mas pelo q entendi eu não utilizaria thread para uma coisa simples (estou interpretando o q vc escreveu).
Falow
yoshikichi
looljunior:
No meu ponto de vista, é melhor você utilizar uma Thread.
Caso você não à utilize seu processamento da janela irá parar, o usuário não irá conseguir
fazer outra coisa no sistema se o teu while não estiver já terminado.
abraço
vc pode utilizar Thread como classe interna anonima, q não irá travar o Frame.
Mas isso seria mais complexo ainda.
andredemelo
Utilize o Thread, somente se você precisar de dois processamentos de uma vez, pois com a utilização do While, você não poderá executar outro processamento antes que o While chegue ao final! No entanto, vai depender do que você realmente vai precisar!
h4lls
Entendi tambem. 2 alternativas.
h4lls
andredemelo ok.
h4lls
No meu caso seria: Minha app rodando, dai o usuario da Alt + Tab ou minimiza a app, Nesse ponto estou gerando um video de todas as suas ações no Desktop. Por isso fiquei em duvida em qual caminho seguir.
andredemelo
Em seu caso então, o melhor a se utilizar é o Thread mesmo ao invéd do While!!
h4lls
creio que sim tb.
J
juliocbq
Pode usar o invokeLater.
java.awt.EventQueue.invokeLater(newRunnable(){@Overridepublicvoidrun(){// o que precisa ser executado aqui.}});
h4lls
juliocbq:
Pode usar o invokeLater.
java.awt.EventQueue.invokeLater(newRunnable(){@Overridepublicvoidrun(){// o que precisa ser executado aqui.}});