Setar um valor double em um jProgressBar?

3 respostas
mateusviccari

Olá, tenho um jProgressBar em meu programa que vai de 0 a 100, e dependendo do numero de parametros que o programa recebe, eu vou incrementando o valor desse campo.
Por exemplo, se meu programa recebe 2 parametros vai ter 2 etapas, 50 e 100.
se recebe 4, vai ter 25, 50, 75, e 100.
Assim ele fecha certinho, porém se tiver um numero mais alto que o valor 100 nao seja divisivel por ele, quando terminar ele nao vai terminar no 100, e sim em um valor um pouco antes.
Pra isso teria que por um double no metodo setValue, só que ele só aceita int.
Como poderia fazer isso?

3 Respostas

mauricioadl

vc nao pode simplesmente atribuir 100 quando o valor for maior que 100?

mateusviccari

até pode mas vai ficar estranho, ele fica indo continuamente do 0 ao 75 por ex. e do nada vai pro 100.
E quanto mais parametros meu programa receber, maior será a diferença.

E

http://docs.oracle.com/javase/6/docs/api/javax/swing/JProgressBar.html#JProgressBar(int,%20int)

Por exemplo, digamos que você saiba que o processo tem 257 passos. Neste caso, você pode usar para o primeiro parâmetro o valor “0” e o segundo parâmetro o valor “257”. O Java irá fazer a conta para você.

Se você estiver usando o construtor sem parâmetros (porque você está usando um editor de telas, como o NetBeans ou o Eclipse) você pode acertar o mínimo e o máximo, com:

<a href="http://docs.oracle.com/javase/6/docs/api/javax/swing/JProgressBar.html#setMinimum%28int%29" class="onebox" target="_blank">http://docs.oracle.com/javase/6/docs/api/javax/swing/JProgressBar.html#setMinimum(int)</a>

<a href="http://docs.oracle.com/javase/6/docs/api/javax/swing/JProgressBar.html#setMaximum%28int%29" class="onebox" target="_blank">http://docs.oracle.com/javase/6/docs/api/javax/swing/JProgressBar.html#setMaximum(int)</a>

Não precisa usar double.

Criado 19 de dezembro de 2011
Ultima resposta 19 de dez. de 2011
Respostas 3
Participantes 3