En Java para usar un jProgressbar es necesario el uso de threads (o al menos yo no los he podido manipular sin threads).
Al hacer un aplicación, por lo general los usuario al no ver elementos informativos en la interfaz suelen reportar que no funciona o que va lenta, con este jProgressbar indeterminado lo que haces es darle al sensación al usuario que se esta llevan a cabo los proceso necesarios para la acción que requiere.
En mi caso, mi aplicación debe conectarse a una bd y validar usuario, entonces para poder mostrar la información en el jProgressbar hago lo siguiente.
En el botón que utilizo para hacer la verificación hice lo siguiente.
En le botón que inicia mi hilo*******************************
public void run() {
verificar();
}
};
hiloPB.start();