Tenho uma jinternalFrame com um botao e uma Jtable. Quando pressiono o botao ele tras os dados do banco de dados e coloca eles no jtable. ate ai tudo funciona bem.
O problema é que o usuario, enquanto o sistema faz a consulta ao banco, ele fica com todo o sistema com o efeito cinza, ou seja a jframe bloqueia. e eu gostaria de alguma dica para resolver este problema . ou seja, como criar uma jprogressbar para aparecer em uma jframe enquanto o processo de consulta estiver a correndo.
Para isso terei de usar threads ? alguem me pode dar um exemplo ? obrigado desde ja !
ola amigo,
realize o processamento q vc precisa em uma thread.
Assim, nao travara.
abraços
Vc precisa de 2 coisas: uma thread onde executar o trabalho e um progressbar para mostrar ao usuário que algo está acontecendo. A forma mais simples de conseguir este efeito é usar o objeto SwingWorker disponivel no java 6.
Em geral, qualquer ação em swing deve ser encapsulada num SwingWorker. Normalmente não se faz isso para operações “locais” mas não ha nada que impessa. Existem mecanismos mais complexos que , por exemplo, só mostam a barra de progresso se a tarefa está demorando mais do que um certo tempo. Procure por ProgressMonitor para mais informações.