Alguem poderia me dar um
exemplo de como eu faço
uma JProgressBar funcionar?
Eu tenho uma consulta e as veses
ela demora um pouco eu queria colocar
uma JProgressBar nessa consulta
como eu posso fazer isso?
Eu ja tentei mas sem sucesso!
Alguem poderia me dar um
exemplo de como eu faço
uma JProgressBar funcionar?
Eu tenho uma consulta e as veses
ela demora um pouco eu queria colocar
uma JProgressBar nessa consulta
como eu posso fazer isso?
Eu ja tentei mas sem sucesso!
Seguem exemplos no link abaixo:
http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
Simplificando bastante, a forma de uso recomendada é: execute a tarefa demorada (no seu caso, a consulta) numa thread em separado, e a partir dessa thread em separado você pode notificar periodicamente a JProgressBar rodando na thread principal.
Opa eu consegui fazer um aqui usando o SwingWorker
so que agora eu estou tendo um problema
que esta ocorrendo por causa do look And Feel
o erro que da é o seguinte:
org.jvnet.substance.api.UiThreadingViolationException: Component creation must be done on Event Dispatch Thread
at org.jvnet.substance.utils.SubstanceCoreUtilities.testComponentCreationThreadingViolation(SubstanceCoreUtilities.java:2368)
at org.jvnet.substance.SubstancePanelUI.createUI(SubstancePanelUI.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
esse erro so ocorre quando eu uso um tema do Substance
eu ja fiz o teste de rodar com o Look And Feel desativo
e funciono certinho o JProgressBar
ja com o Look And Feel ativado não funciona o relatorio que
era para aparecer não aparece so da esse erro!
Alguém sabe me dizer se isso tem alguma solução?
Pegue o trecho que está dando erro (especificamente, a parte que cria componentes gráficos, que é o que parece estar causando problemas) e execute-o dentro da Thread de tratamento de eventos do Swing através de SwingUtilities.invokeLater():
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// ...
}
});