Salve!
Como faço para exibir um frame em thread paralela? é q a tela congela, como se estivesse na mesma thread, li q é pq o swing só pinta numa thread… mas como faço então?
valeu
Salve!
Como faço para exibir um frame em thread paralela? é q a tela congela, como se estivesse na mesma thread, li q é pq o swing só pinta numa thread… mas como faço então?
valeu
CAra foi maus! qdo fui criar o tópico houve um erro na página, dae mudei o nome, sem querer, e reenviei! agora q vi!!!
como faço pra apagar um deles?
O q acontece é o seguinte:
tenho uma thread principal que cria os seguintes objetos:
final NotificadorProgressBar npb = new NotificadorProgressBar();
npb.CriarEmParalela("Baixando arquivo do Servidor SUS", "Conectando...");
final MedidorArquivo ma = new MedidorArquivo();
ma.Medir(caminho, istream);
ma.start();
Depois,nesta mesma thread principal, crio um
SwingWorker<Boolean, Object> worker =
new SwingWorker<Boolean, Object>() {
protected Boolean doInBackground() throws Exception {
int b = 0;
while(b<101){
System.out.println("Atualizando medicao"+b);
try{
npb.setPBP(new Integer(Math.round(ma.getTamanho())));
b++;
Thread.sleep(100);
}
catch(Exception e){
e.printStackTrace();
b++;
}
}
return true;
}
};
worker.execute();
NotificadorProgressBar cria uma telinha de progress bar num outro frame… mas a janelinha fica travada…
ninguem?
Favor não duplique tópicos.
Como você verificou que o problema é o swing e não a tua aplicação?
Ações que modificam o Swing podem ser colocados na “fila de execução” do Swing (SwingUtilities.invokeLater(Runnable)) mas verifique com um profiler (VisualVM) se realmente é isso que está travando e não algo que você fez errado no código (eu apostaria em algo feito errado primeiramente).
Olá,
Como vc criou a outra “janelinha” no NotificadorProgressBar?