Tenho uma interface em SWING que ao clicar em um determinado botão, executa
um processamento de custo e é um processo bastante demorado, ai tenho um JProgressBar
que vai simular o desenrrolar do processo, só que ele fica invisível pro usuário, ai quando clica
nesse botão eu quero que ele aparece, só que isso não esta ocorrendo, ele só fica visível quando
termina o processo. tipo faço o seguinte só pra vcs entenderem.
Boa tarde, também estou com o mesmo problema qualquer coisa se conseguir aviso ou se alguém conseguir me avise abraços.
att
samuk1
Boa Tarde... Primeiro, coloque o Codigo Completo, onde vc cria a Progress para facilitar ...
Segundo eu possou isso em minha aplicação onde eu criei uma Classe:
Com 2 Metodos, Inicia e Finaliza. Assim:
E Quando preciso dela apenas crio o objeto e Mando ela iniciar... no seu caso seria:
privatevoidmeuMetodo(){ProgressBarbarra=newProgressBar();barra.iniciaBarra("Carregando os arquivos");// aqui ele inicia a barra inciaProcesso();barra.fechaBarra();// aqui ele fecha ela...}
Seria isso? :-o
F
felipeaps
Provavelmente você está fazendo esse processamento pesado na mesma thread da EDT certo?
Neste caso, sua interface gráfica ficara travada. É necessário o uso de outra thread para o processamento.
Se não for isso, posta seu código que fica mais fácil. =D
mateusviccari
idem ao felipeaps, se voce esta fazendo tudo na mesma thread nao vai ver a barra aumentando de valor.
pesquise sobre SwingWorker, ele é uma thread que voce implementa só que ele foi otimizado pra se trabalhar com componentes swing.