Java implementation of a discrete fourier transform (DFT) algorithm, a fast wavelet transform (FWT) algorithm, and a wavelet packet transform (WPT) algorithm all in 1-D, 2-D, and 3-D. The wavelet transform algorithms are using normalized orthogonal (orthonormal) Haar, Coiflet, Daubechies, and Legendre wavelets as known by the multi-scale analysis. The implementation of JWave is based on several Design Patterns and - hopefully - appears user-friendly.