Let Sigma be a bounded set of complex matrices, Sigma(m) = {A(1)...A(m) : A(i) is an element of Sigma}. The generalized spectral-radius theorem states that rho(Sigma)= <(rho)over cap>(Sigma), where rho(Sigma) and <(rho)over cap>(sigma) are defined as follows: rho(Sigma) = lim sup rho(m)(Sigma){1/m}, where rho(m)(Sigma) = sup {rho(A) : A is an element of Sigma(m)} with rho (A) the spectral radius; <(rho)over cap>(Sigma) = lim sup <(rho)over cap>(m)(Sigma){1/m}, where <(rho)over cap>(m)(Sigma) = sup {parallel to A parallel to: A is an element of Sigma(m)} with parallel to parallel to any matrix norm. We give an elementary proof, based on analytic and geometric tools, which is in some ways simpler than the first proof by Berger and Wang.