Al final llegue a una solución al respecto, aquí les dejo mi codigo :
delay = value*1000/ndivs; // value es un valor en s, se multiplica por 1000 para que el timer tome ese valor como segundos y no milisegundos
// ndivs son el numero de divisiones de la barra yo lo setee a 100, es decir 100 divisiones
timer = new Timer (delay, new ActionListener () {
public void actionPerformed (ActionEvent evt) {
if (jProgressBar.getValue()==ndivs) {
progress = 0;
//metodo a realizar cuando se completa el ciclo
} else progress++;
jProgressBar.setValue(progress);
}
});
De este modo obtengo una progressbar que se llena cada "value" segundos y en donde cada "value/ndivs" segundos la progressbar aumentara la cuenta de su estado en uno.
Ademas, para optimizar el funcionamiento de la progressbar añadi un thread para que al llegar a completar el ciclo la progressbar no se retrasase lo mas minimo.
Gracias por su ayuda, un saludo : fMtQr.