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?
vc nao pode simplesmente atribuir 100 quando o valor for maior que 100?
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.
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:
http://docs.oracle.com/javase/6/docs/api/javax/swing/JProgressBar.html#setMinimum(int)
http://docs.oracle.com/javase/6/docs/api/javax/swing/JProgressBar.html#setMaximum(int)
Não precisa usar double.